Есть условие: Код (PHP): if($_POST["confirm"]) { $orderNumber=$_POST["orderNumber"]; $amount=$_POST["amount"]; $res = mysql_query("SELECT * FROM agreements WHERE number = ".$orderNumber."") ; $a = gettype($res); if ($a == 'boolean') {echo 'ошибка';} else{ echo '<form action="test.php" method="post" id="log"><input type="hidden" name="orderNumber" value='.$orderNumber.'><input type="hidden" name="amount" value='.$amount.'></form><script> document.["log"].submit(); </script>'; } } При прохождении проверки, должен отправляться запрос POST на test.php, без нажатия кнопки submit. Данные в форму приходят, но не отправляются. Подскажите, как быть. Подозреваю, что неправильно пишу Код (PHP): <script> document.["log"].submit(); </script> Но ничего в голову не приходит PHP, JavaScript, SQL и другой код пишите внутри тегов Код ( (Unknown Language)): [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
Код (PHP): <script> document.["log"].submit(); </script> а вот эта хрень должна разве работать? включи вывод ошибок в браузере, посмотри, надо вроде как писать: Код (PHP): document.getElementById("log").submit(); PHP, JavaScript, SQL и другой код пишите внутри тегов Код ( (Unknown Language)): [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
не знаю на сколько поможет, но так вроде как будет правильнее, поставь форме атрибут name, за место getElementById сделай поиск по name, ну и попробуй.
Код (Text): Uncaught TypeError: document.getElementsByName(...).submit is not a function Это по ByName.
а то, что было до этого с getElementById, оно верно было написано? потому что написано что property, т.е. свойство, может там было забыто поставить скобки? вот оно и писало, что нет такого свойства.
Верно, скобки стояли. Добавлено спустя 6 минут 40 секунд: Может дело в том, что у меня нет кнопки. Но если я ее добавлю, как мне ее скрыть?
не, знаю у меня все работает: Код (PHP): <script> function Send() { document.getElementById('frm').submit(); } </script> <form method="GET" id="frm"> <div><input type="text" name="zzz"></div> <div><input type="button" name="btn" onclick="Send()" value="Отправить"></div> </form> PHP, JavaScript, SQL и другой код пишите внутри тегов Код ( (Unknown Language)): [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
Так он будет работать при нажатии кнопки, а мне нужно автоматом после наступления Код (Text): else{ echo '<form Добавлено спустя 5 минут 18 секунд: Сделал, как у Вас, опять выдает Uncaught TypeError: document.getElementsByName(...).submit is not a function
ну так и сделай, рабочий код выше, на его основе, только желательно прицепить отправку после полной загрузки страницы. А если вдруг не прокатит, возможно это отключено в браузере из соображений безопасности. Добавлено спустя 8 минут 53 секунды: Код (PHP): <form method="GET" id="frm"> <div><input type="text" id="zzz" name="zzz"></div> </form> <script> window.onload = function() { var inp = document.getElementById('zzz'); if (inp.value == '' || null == inp.value) { inp.value = 'hello'; document.getElementById('frm').submit(); } }; </script> ну и вот, все отправляется, только криво работает (вроде как отправляется, отправляется и так до бесконечности) потому что это пример и мне лень тратить на него время.
Просто читаемдокументацию. Потому что элемент, у которого этот сабмит вызывается, должен быть именно формой. Не кнопкой сабмит. Не полем ввода, не пачкой полей, а именно формой с конкретным id.
Значит что-то неправильно делаете. Только и всего. У меня все работает. Код (Text): document.getElementById('log').submit();
Внимание вопрос: ЧТО? Весь листинг этой части кода перед Вами. Вывод ошибок тоже. Очень просто сказать "что-то не так делаете". Сам знаю, что должно работать. Но не работает(((
Контекстно-зависимый листинг, который не работает без простыни, из которой его выдрали. Гадать я не умею. Конструкция на JS, которую вам предоставили, рабочая. Значит ищите косяки в другом месте. Может быть то, что вы вставляете в качестве значения, тупо ломает форму, всякое бывает.
Код (PHP): <html> <head> <title>123</title> <link type="text/css" rel="stylesheet" media="all" href="Sberbank_files/style1.css"> <script src="js/jquery.min.js"></script> <script src="js/jquery.plugins.js"></script> <script src="js/jquery-1.4.2.min.js"></script> </head> <body> <?php $host = "localhost"; $name = "root"; $password = ""; $db = "billing"; @mysql_connect($host,$name,$password) or die(mysql_error()); @mysql_select_db($db) or die(mysql_error()); mysql_query("SET NAMES utf8"); ?> <br> <div id="wrap"> <div class="logo"></div> <br> <hr align="left" width="872px"> <span class="text" style="margin-left: 7px;"> 123 </span> <table cellpadding="5"> <br><br> <tbody> <tr valign="top"> <td valign="top"> <span class="text">Номер договора: </span> </td> <td> <form action="index.php" method="post"> <input type="text" value="" name="orderNumber" size=10 maxlength=8 required autocomplete="off"> </td> </tr> <input type="hidden" name="confirm" id="confirm" value="12345"> <tr><td> <?php if($_POST["confirm"]) { $orderNumber=$_POST["orderNumber"]; $amount=$_POST["amount"]; $res = mysql_query("SELECT number FROM agreements WHERE number = .$orderNumber.") ; $a = gettype($res); if ($a == 'boolean') {echo 'ошибка';} else{ echo '<form action="test.php" method="post" id="log" name="log"><input type="hidden" name="orderNumber" value='.$orderNumber.'><input type="hidden" name="amount" value='.$amount.'></form><script type="text/javascript"> document.getElementById('log').submit(); </script>'; } } ?> </td> </tr> <tr valign="top"> <td valign="top"> <span class="text">Сумма списания в рублях:</span> </td> <td> <input type="text" value="" name="amount" size=10 maxlength=8 required autocomplete="off"> </td> <tr> <td> <input type="submit"> </form> </td> </tr> </tr> </tbody> </div> Полный код. Вырывать больше неоткуда. Значения в форму приходят в виде числа из POST.Ломать здесь нигде ничего не может. PHP, JavaScript, SQL и другой код пишите внутри тегов Код ( (Unknown Language)): [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
Вы код, который я выше привел, проверили? Работает? Ошибку, мол submit не может быть вызван, выбрасывает? Нет. Значит отлаживайте дальше уже на своей стороне.
Поменял в head <script src> на Код (Text): <script src='http://code.jquery.com/jquery-2.1.1.min.js'></script> Теперь пишет, Код (Text): Uncaught TypeError: Cannot read property 'submit' of null(anonymous function) @ index.php:31 Может что-то с js не так???
Автор, а ты вообще знаешь, что тут происходит? Код (Text): <script src="js/jquery.min.js"></script> <script src="js/jquery.plugins.js"></script> <script src="js/jquery-1.4.2.min.js"></script> например, ты в курсе, что зачем-то дважды цепляешь JQuery, причем между ними цепляешь плагины, которые, при втором одцеплении, наверняка оборвутся. А потом не используешь эту библиотеку. С JS все так. Ругать машину - последнее дело и удел тех, кто считает, что сам он косячить не может. Попробуйте воспроизвести то, что вам нужно, на отдельной странице, без всего этого мусора. Потом выясняйте, что мешает ей работать. Мб вы просто где-то тег не закрыли и пошло-поехало.