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, время: 10:20. |