Как сделать Enter Key Press ведут себя как Submit в JSF. Он работает с InputBoxes; но не с ящиками вводаSecretEnter Key Press ведут себя как Отправить в JSF
ответ
Я еще не видел этот вопрос. Вероятность мало того, что это поведение зависит от браузера. Попробуйте в разных браузерах исключить один и тот же (IE6/7/8, FF, Safari, Chrome и т. Д.). Шанс больше, чем это вызвано (слабым) прослушивателем событий в Javascript, который неправильно подавляет ключ ввода (например, JS-пароль, который проверяет введенные символы).
Если до сих пор напрасно, просто добавьте следующий onkeypress
к h:form
:
<h:form onkeypress="if (event.keyCode == 13) this.submit();">
Вы должны принять во внимание, текстовых областей, однако. Если у вас их есть, то вам нужно скопировать все onkeypress
события по h:inputXXX
элементам ожидать самих текстур.
Я запустил его, разместив дополнительный inputBox и спрятав его с помощью javascript. Дайте мне знать, если у вас есть другие предложения. Спасибо baluC за то, что указали мне в правильном направлении. Jerry
Существует старая спецификация, которая появляется у меня в голове. Если у вас есть форма, которая содержит только одно поле ввода, поведение отправки на введите -key не работает в некоторых версиях Internet Explorer. Самое простое исправить - убедиться, что у вас несколько полей ввода.
Другие причины этой проблемы включают в себя ...
- Не имея вход типа представить
- Имея вход типа представить, но это не видно на странице (скрытый или расположены вне -страница)
Данное поведение совершенно точно для браузера.
MS Сообщение об ошибке здесь: connect.microsoft.com: submit button value not posted with form submission
От ответа ComputerPilot, я узнал, что это ошибка в IE, который не будет делать родительскую форму для отправки, если есть только один входной элемент. Чтобы преодолеть эту проблему, я добавил еще один входной блок с атрибутом style="display:none"
, и он отлично работал.
Если вы хотите нажать клавишу ENTER вместо отправки в любой форме, нам нужно добавить атрибут defaultcommand в тег af: form и указать id кнопки отправки в качестве значения. Пример кода для этого
<af:form id="f1" defaultCommand="cb1">
<af:outputText value="User Name" id="usename"/>
<af:inputText value="#{BackingBean.userName}" id="uname" />
<af:outputText value="Password" id="pword"/>
<af:inputText value="#{BackingBean.password}" id="paword" secret="true"/>
<af:commandButton text="Submit" action="#{BackingBean.method}" id="cb1" />
</af:form>
протестирована с JSF 2. положить:
<h:commandButton id="hidden" style="visibility: hidden;" action="#{mybean.myaction()}" />
в форму
- 1. @ key-frames ведут себя как загрузочная панель
- 2. Сделать ввода ключа ведут себя, как Tab Key в JTable
- 3. Primefaces Press Enter исполняет commandButton
- 4. Simulated key press
- 5. jquery file-upload submit form on enter key press
- 6. Visual Studio C# Key press enter не работает
- 7. Key press javascript ctrl key
- 8. textarea maxlength does not work on enter key press
- 9. Javascript: Block form submit on Enter Key press
- 10. mimic 'Enter' Key press in Webtest с использованием Selenium
- 11. Отправить на Enter key в текстовом поле
- 12. ruby получает 'enter key'
- 13. press enter to submit form
- 14. Нажмите Enter Key ведет себя как Tab в JavaScript
- 15. Pygame key get press
- 16. OnGUI и Key Press
- 17. setTimeout key press
- 18. Pygame Key Press
- 19. Simulating Key Press C#
- 20. key press handler
- 21. C# Simulate Key Press
- 22. Validation on key-press
- 23. jquery press key дважды
- 24. JavaScript Key Press
- 25. Как себя ведут Скала?
- 26. Detect enter press in JTextField
- 27. Отправить форму на Enter press - Значение текстового поля Null
- 28. Как я могу сделать python press Enter
- 29. Элемент «tab key press order
- 30. Sublime press enter в середине скобки
Это конкретный браузер, особенно с несколькими формами на той же странице. –
@Thorbjorn: «он работает с ящиками ввода, но не с ящиками ввода», и я ожидаю, что они находятся в этом конкретном случае в том же виде. Множественные формы не должны быть проблемой, зная тот факт, что ключ ввода будет только представлять родительскую форму.Кроме того, есть ошибка IE, которая не должна приводить родительскую форму, если есть только один элемент ввода. Но, скорее всего, это не так. – BalusC
С textarea (в отличие от типа ввода текста) помните, что люди думают, что вы можете нажать Enter, чтобы получить новую строку - действительно ли они хотят, чтобы форма отправлялась? – Fenton