|
|
|
| В форме есть две кнопки TYPE=SUBMIT. При нажатии на Enter данные из формы отсылаются, кроме данных о том какая кнопка нажата. Как сделать одну из кнопок дефолтной или еще что, вобщем, чтобы кнопка срабатывала при нажатии на клавишу Enter? Не используя ДжаваСкрипт. | |
|
|
|
|
|
|
|
для: ec_stasis
(07.06.2006 в 02:16)
| | Вариант намба 1
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Новая страница 1</title>
</head>
<body>
<form method="POST" action="obrab.php">
<textarea rows="2" name="S1" cols="20"></textarea>
<input type="submit" value="Отправить" name="B1">
<input type="submit" value="Отослать" name="B2">
<input type="reset" value="Сброс" name="B2">
</form>
</body>
|
в obrab.php примерно так
if ($_POST['B1']=='Отправить' && empty($_POST['B2'])
{
// значит нажали кнопку Отправить
}
if ($_POST['B2']=='Отослать' && empty($_POST['B1'])
{
// значит нажали кнопку Отослать
}
|
Вариант намба ту
в форме добавляете невидимое поле
<input type="hidden" name="H1" value="1">
|
кнопки тогда выглядят так
<input type="submit" value="Отправить" name="B1" onclick="this.form.H1.value=1;">
<input type="submit" value="Отослать" name="B2" onclick="this.form.H1.value=2;">
|
в obrab.php примерно так
if ($_POST['H1'] == 1)
{
// обработка нажатия кнопки Отправить
}
if ($_POST['H1'] == 2)
{
// обработка нажатия кнопки Отослать
}
|
По поводу реакции на нажатие клавиш посмотрите атрибут accesskey | |
|
|
|
|
|
|
|
для: targa
(07.06.2006 в 03:50)
| | в первом случае при сабмите посредством нажатия клавиши ENTER - $_POST['B1'] $_POST['B1'] будут оба пустые.
Во втором - JS.
Accesskey работает в комбинации с ALT
Все не то... :( | |
|
|
|
|
|
|
|
для: ec_stasis
(07.06.2006 в 11:35)
| | Странно, при 2 кнопках должен отсылаться параметр с именем кнопки (задать type=submit name=subm1 value=Отправить) и его value. По имени определяешь, какая нажата. При Enter, насколько помню, не будет отправлено имя ни одной кнопки submit. | |
|
|
|
|
|
|
|
для: 12345
(07.06.2006 в 13:52)
| | вот в том-то и дело. А мне надо, чтобы отправлялось имя определенной кнопки... | |
|
|
|
|
|
|
|
для: ec_stasis
(07.06.2006 в 14:11)
| | Без использования JS никак. Не лучше ли анализировать параметры на сервере? На JS надо проверить сабмит, убедиться, что ни одна кнопка не нажата (не сработали onmousedown ни на одной), сделать click() по дефолтной кнопке, отменить текущий сабмит, чтобы дождаться инициированного. | |
|
|
|
|
|
|
|
для: 12345
(07.06.2006 в 15:21)
| | Но если на клиенте JS отключен, то вообще ничего работать не будет.
А на сервере я анализирую, но мне надо знать что хочет пользователь... | |
|
|
|