Enter в текстовом поле
Нужно следующее:
при фокусе в текстовом поле и нажатии Enter перезагружается страница. Можно ли это запретить для некоторых или всех текстовых полей? Ответ да, можно. только проблема в том что если есть форма с hidden полем с именем event <input id="hiddenEvent" type="hidden" name="event" value="setzen" /> то весь ниже приведённый код отказывается работать именно в IE, в FirеFox работает все без проблем. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> <script type="text/javascript"> function clickButton(e, buttonid) { alert("e is: "+e.keyCode); var evt = e ? e : window.event; var bt = document.getElementById(buttonid); if (bt) { if (evt.keyCode == 13) { alert("evt.keyCode is: "+evt.keyCode); return false; } } } </script> </head> <body> <form action="Pinboardueber.po" method="post" id="wochenEingabe"> <input id="hiddenEvent" type="hidden" name="event" value="setzen" /> <table class="text_gross_fett"> <tr> <td>Week</td> <td style="width: 40px"> <input onkeypress="return clickButton(event,'suchenButton')" maxlength="2" type="text" id="KwInput" name="Kw" style="width: 100%"> </td> <td> Year </td> <td style="width: 40px"> <input maxlength="4" onkeypress="clickButton(event,'suchenButton')" class="text" type="text" id="JahrInput" value="2009" name="Jahr" style="width: 100%"> </td> <td align="center" style="width: 80px"> <input class="text" id="suchenButton" type="submit" name="suchen" value="Suchen" /> </td> </tr> </table> </form> </body> </html> Вот и вопрос, как этот код можно поправить не трогая hidden поля с именем event? |
Это происходит из-за того, что при нажатии Enter отрабатывает submit формы.
Можете для формы просто задать onsubmit="return false" |
к сожалению так сделать нельзя, так как форма должна отрабатывать submit
Будут ли ещё какие-нибудь идеи |
Цитата:
|
Проблема в том, что в IE у тебя в функцию попадает твой input с именем event. Лучший вариант переименовать скрытое поле, но если это нельзя тогда делай проверку на наличие-отсутствие характерного поля.
Например, так: var evt = (e && e.name==undefined) ? e : window.event; |
Часовой пояс GMT +3, время: 10:15. |