this.form.submit()
Здравствуйте!
Есть форма с несколькими кнопками отправки, вроде <form method = 'POST' action='действие> <input type='button' name='n1' value='n1' onClick="this.form.submit();"> <input type='button' name='n2' value='n2' onClick="this.form.submit();"> </form> Вопрос - как потом в php обработчике понять, на какую из этих кнопок нажали? Или что нужно изменить в коде, чтобы в php обработчике появилась переменная $_POST['n1'] при нажатии на первую кнопку? Спасибо) |
Менять экшен, но это get. Менять значение <input type="hidden"/> - post
|
<form action="" method="post"> <input type="submit" name="submitButton" value="oneButton" /> <input type="submit" name="submitButton" value="twoButton" /> </form>в пхп придет переменная $_POST['submitButton'] в ней будет значение нажатой кнопки. то-есть то значение что указано в атрибуте value у нажатой кнопки. |
Как раз раньше так и делал, но при type="submit" в IE по нажатию enter идет отправка формы, что есть очень вредно в моем случае.
|
Можно отправлять с аяксом.
Я с помощью jquery по ентрер запрещал отправку, а форму отправлял по клику, внимание!, по span! |
Тогда такой вопрос - как запретить отправку формы по enter чтобы при этом энтер работал для выбора из выпадающих списков? Кароче, чтобы он работал для всего, кроме отправки формы как раньше.
|
<form action="" method="post"> <input type="text" name="blah" value="" /> <input type="submit" name="submitButton" value="oneButton" onblur="this._focused=false;" onfocus="this._focused=true;" onclick="if ( !this._focused ) return false;" /> <input type="submit" name="submitButton" value="twoButton" onblur="this._focused=false;" onfocus="this._focused=true;" onclick="if ( !this._focused ) return false;" /> </form> |
Предложу такой вариант для всего сразу...
<!DOCTYPE html> <html> <head> <!-- <script src="http://code.jquery.com/jquery-latest.js"></script> <tdnk rel="stylesheet" type="text/css" href="tmp.css" /> --> <style type="text/css"> </style> <script type="text/javascript"> function go(Type) { document.getElementById('type').value=Type; document.getElementById('frm').submit(); }; function ok() { if (document.getElementById('type').value=='') { alert('Нажми кнопку...'); return false; } return true; }; </script> </head> <body> <form id='frm' method = 'POST' action='tmp.html' onsubmit='return ok()'> <input type='test' /> <input type='hidden' id='type' value='' /> <input type='button' name='n1' value='n1' onClick="go(1);" /> <input type='button' name='n2' value='n2' onClick="go(2);" /> </form> </body> </html> |
Часовой пояс GMT +3, время: 20:12. |