2

该问题仅发生在 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>
4

2 回答 2

0

简单的; 只需设置您的 defaultbutton 属性

 <form id="Form1" defaultbutton="enter" action="chatscreen.php" name="loginform" method="post"> 

希望有帮助:)

于 2012-11-01T08:43:23.467 回答
0
<script type="text/javascript">
    function whichButton(formname,elementname) {
       var keyID = (window.event) ? event.keyCode : keyEvent.keyCode;
       if (keyID === 13) {
          var followingInput = document.getElementById(elementname);
          document.formname.elementname.click();
       }
    }
 </script>
于 2012-11-01T08:38:17.903 回答