该问题仅发生在 Internet Explorer 中。在任何其他浏览器中,我可以通过在键盘上按 Enter 来提交表单,在 IE8 中,我必须实际单击按钮。
我搜索了一段时间的修复程序,发现了一些东西,但它仍然无法正常工作。我正在使用的 javascript 应该寻找 keycode 13,它是 enter,但是当我点击 enter 时,该字段会自行清除而不提交表单,并且不会触发 keycode。keycode 的东西只返回字母的结果,而不是 shift/enter。
这是我当前解决方案的 HTML:
<form action="chatscreen.php" name="loginform" method="post">
<p>Please enter your name to continue:</p>
<label for="name">Name:</label>
<input type="text" name="name" id="name" onkeyup="whichButton("loginform","enter")"/>
<button type="submit" name="enter" id="enter" value="Enter">Button</button>
</form>
这是我尝试实现的 javascript 作为修复:
<script type="text/javascript">
function whichButton(formname,elementname) {
alert("got a key = " + event.keyCode);
if (event.keyCode === 13) {
var followingInput = document.getElementById(elementname);
document.formname.elementname.click();
}
}
</script>