Меня этот синтаксис php просто убивает! Например, когда form1.l.value будет равно двойке, переменная faction должно быть равно "baga.php/2" Видать я где то символы не так проставил! Никто не подскажет? Код (Text): echo " <script language=\"javascript\"> <!-- function Process() { var f =document.form1; var action = f.p.value; if (action == \"\") return false; var faction = ''; if (action == '1') { faction ="; echo "baga.php/"; echo "form1.l.value ; } else{ return false; } f.action = faction; return true; }// --> </script> <form name=\"form1\" action=\"#\" method=\"post\" onsubmit=\"return Process();\"> <input type=\"text\" name=\"l\" /> <input type=\"password\" name=\"p\" /> <input type=\"submit\" value=\"go\" /> </form>";
Кого? У вас с JS скорее проблемы. Для обращения к элементам используйте DOM К слову, имена форм и Id не должны начинаться с цифр и не должны содержать спецсимволов. И главная ошибка, причина нерабочести, кроется в участке faction="; В отрисованном html/javascript это выглядит так: Подумайте, как это будет работать? PHP: <?php echo <<<HEREDOC <script language="javascript"> function Process() { var action = document.getElementById("p"); if (action == "") return false; var faction = ''; if (action == '1') { faction = "baga.php/" + document.getElementById("l"); } else{ return false; } document.getElementById("form").action = faction; return true; } </script> <form name="form1" action="#" method="post" onsubmit="return Process();" id="form"> <input type="text" name="l" id="l" /> <input type="password" name="p" id="p" /> <input type="submit" value="go" /> </form> HEREDOC; ?>
Белый волк В вашем коде PHP (всего-лишь одна функция echo) лишь выводит ява-скрипт, синтаксис которого убивает %)
Белый волк Его не надо экранировать. Я использовал альтернативную разметку для строки -- <<<HEREDOC В ней экранирование не нужно.
2 Kreker Не могли бы Вы еще в одной задачке помочь? В сравнении if (action == '1') вместо единички должен проставится значение поле pw таблицы student ! Код (Text): echo " <script language=\"javascript\"> <!-- function Process() { var f =document.form1; var action = f.p.value; Query=\"\"; Query = \"SELECT pw FROM student where id=\" + form1.l.value; Result = mysql_db_query ($DBName, $Query, $Link); if (action == \"\") return false; var faction = ''; if (action == '1') { faction = \"baga.php\?v_student_id=\" + form1.l.value + \"&v_mektep_id=$v_mektep_id\"; } else{ return false; } f.action = faction; return true; }// --> </script> <form name=\"form1\" action=\"#\" method=\"post\" onsubmit=\"return Process();\"> <input type=\"text\" name=\"l\" /> <input type=\"password\" name=\"p\" /> <input type=\"submit\" value=\"go\" /> </form>";
Белый волк Вас не изменить. Посоветовал как лучше, а вы не приняли советы объектформы.value = "student"
Ребята, до DOM'а мне еще далеко! Хотя бы подскажите как это можно организовать как Вы выражаетесь в стиле "объектформы.value "