0

我有一个登录表单,其中包含单击 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 中不起作用,有人可以建议我为此提供任何解决方案或我已申请我的要求的任何替代解决方案吗?

4

3 回答 3

2

您不使用简单的任何原因

<input type="submit">

?

它应该在所有浏览器中启用“输入提交”行为,而无需使用 JavaScript。

于 2010-10-04T10:18:03.597 回答
0

您应该将 onkeydown 事件移动到文本字段,而不是将其放在按钮控件上。

于 2010-10-04T10:19:19.257 回答
0

除了 spinons answer,您还可以观察整个表单的 onkeydown :

<form onkeydown="(function(event,form){if(event.keyCode == 13){form.submit();}})(event,this)" name="login" action="" method="post">
于 2010-10-04T10:32:20.360 回答