У меня есть форма входа в систему с событием нажатия клавиши ввода, чтобы отправить форму, она не работает в IE - PullRequest
0 голосов
/ 04 октября 2010

У меня есть форма входа в систему с событием нажатия Enter для отправки формы, она не работает в IE

<form name="login" action="" method="post">
<ul>
    <li class="col1">E-mail Address</li>
    <li class="col2"><input name="email_address" type="text" class="textfiled" /></li>
    <li class="col1">Password</li>
    <li class="col2"><input name="password" type="password" class="textfiled" /></li>
    <li class="col1"></li>
    <li class="col2"><input name="signin" type="button" class="signin-btn" onclick="javascript: login.submit();" onkeydown="javascript: if (window.event.keyCode == 13) login.submit(); else window.event.keyCode = null;"/></li>
</ul>
</form>

Здесь, на кнопке отправки, я упомянул событие как onkeydown="javascript: if (window.event.keyCode == 13) login.submit(); else window.event.keyCode = null;"

Это не работает в IE, кто-то может предложить мне какое-либо решение для этого или любой другой вариант решения, которое я применил для моего требования?

Ответы [ 3 ]

2 голосов
/ 04 октября 2010

Любая причина, почему вы не используете простой

<input type="submit">

Должно быть разрешено поведение "вводить для отправки" во всех браузерах без использования JavaScript вообще.

0 голосов
/ 04 октября 2010

В дополнение к ответу спинонов вы можете наблюдать за игрой всей формы:

<form onkeydown="(function(event,form){if(event.keyCode == 13){form.submit();}})(event,this)" name="login" action="" method="post">
0 голосов
/ 04 октября 2010

Вы должны переместить событие onkeydown в текстовые поля, а не включать его в элемент управления кнопки.

...