Комбинация JSP / сервлет не отправляет форму при вводе, если только кнопка формы является кнопкой отправки - PullRequest
2 голосов
/ 04 марта 2010

Это продолжение моего предыдущего вопроса:

Комбинация JSP / сервлет / IE не передает подробности формы при вводе

Внутри формы мы имеем:

<input ... type="submit" name="confirm" value="Confirm"/>

В этой форме нет полей ввода. Эта форма появляется в конце рабочего процесса и по существу является проверкой для продолжения.

Эта форма не передается ни IE, ни Firefox при нажатии клавиши Enter. Он отлично работает, если нажата кнопка «Подтвердить».

Следуя ответу на мой предыдущий вопрос, я попытался добавить фиктивные поля, такие как:

<input type="hidden" />

или

<input type="text" style="display: none;" />

но они не имеют значения.

По разным причинам мы бы предпочли не использовать Javascript.

Любые предложения, чтобы получить ключ ввода для отправки?

1 Ответ

2 голосов
/ 04 марта 2010

К сожалению, у вас должен быть хотя бы один фокусируемый элемент ввода в форме, чтобы это работало, и только тогда, когда ввод имеет фокус. Если у вас нет никаких элементов ввода, то нет другого способа обойти это, кроме как позволить Javascript прослушивать клавишу enter в теле.

<body onkeypress="if (event.keyCode == 13) document.formname.confirm.click();">

Где formname - это значение атрибута name родительского элемента <form>.

Обратите внимание, что я использовал document.formname.confirm.click() вместо document.formname.submit(), поскольку в противном случае IE не отправил бы пару имя = значение кнопки на сторону сервера.

Единственный способ без использования Javascript - позволить пользователю нажать на кнопку и затем нажать , ввести . Это все, кстати, независимо от используемого браузера и, следовательно, не зависит от IE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...