На главную страницу
Передача параметров из PHP в JavaScriptВариант 1. Генерация JavaScript.PHP просто напросто генерирует яваскрипт точно так же, как и всю остальную страницу, вместе со всеми переменными. К примеру, в PHP есть переменная $name="Вася", значение которой надо передать в JavaScript, чтобы получить: <script>name="Вася";</script> Мы просто пишем: <? $name="Вася"; ?> <script>name="<? echo $name; ?>"</script> или при присвоении переменной "а" в JavaScript значения переменной $a из PHP: <script language="javascript"> var a=<?php echo $a; ?>; </script> В этом варианте плохо то, что JavaScript-код сгенерированный "на лету" трудно отлаживать, особенно если кода много. А если JavaScript используется многократно - его приходится копировать, а лишняя информация (при каждом запросе) пожирает трафик. Вариант 2. Обращение через getElementById.Лишиться всех этих проблем можно выносом всего JS-кода в отдельный статический *.js-файл и передавать ему динамические данные через скрытые элементы форм. <script language="javascript"?gt; function foo() { var a=document.formName.id1.value; alert('A is: '+a); } </script> а в PHP-скрипте сделаем: <form name=formName> <input type=hidden name=id1 value="<?php echo htmlspecialchars($var); ?>"> </form> Теперь единожды отлаженный JavaScript-код будет 1 раз подгружаться клиенту и не будет вызывать разных ошибок вызванных тем, что PHP вставил не то значение (например, Notice о неустановленной переменной $var). К тому же JavaScript-код можно многократно использовать в других WEB-страницах, передавая ему другое значение переменной a. |