javascript - 无法在按键时提交表单

标签 javascript jquery forms

我想在用户输入用户名和密码时提交一个表单并输入击键。当按下回车键时,我的函数会收到一条警报。但之后它不会提交表单。我做错了什么?

<form id="myForm" action="#" onsubmit="return false;" >
 <div>
 <input type="text" id="username"  />
 </div>
 <div>
 <input type="password" id="password"   />
 </div>
 <div>
  <button type="submit" id="btnLogin" onclick="myFunction(0)">Log in</button>
 </div>


<script type="text/javascript">

    function myFunction(e) {
        if ((e && e.keyCode == 13) || e == 0) {
            alert("The form was submitted"); // this alert gets called,but my form doesnt get submitted
            document.forms.myForm.submit();   
        }
    }        

最佳答案

你可以这样使用。(使用jquery)

1.更改输入类型提交到按钮

2.修改提交表单的代码

3.为表单编写一个keyPress事件

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>  
    <form id="myForm" action="test.html" >
     <div>
     <input type="text" id="username"  />
     </div>
     <div>
     <input type="password" id="password"   />
     </div>
     <div>
      <button type="button" id="btnLogin" onclick="myFunction(0)">Log in</button>
     </div>
    </form> 
    <script type="text/javascript">       
       function myFunction() {
       alert("form submitted");
       document.getElementById("myForm").submit();
       }
    $('#myForm').on('keydown', function (e) {
      if (e.which === 13) {
          myFunction();
         }
     });
</script>  

关于javascript - 无法在按键时提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46786419/

相关文章:

javascript - 相同(或可能不是) 'if' 条件的不同情况

javascript - 如何永久删除forerunnerdb中的集合?

javascript - 元素变为宽度为 0

forms - 如何使用 TypoScript 覆盖 TYPO3 表单框架的 YAML 设置?

javascript - 使用 DOCTYPE 时使用 JavaScript 设置样式的奇怪问题

jquery - 为什么在 AJAX 请求中使用 @csrf_exempt 时会收到 403 Forbidden 错误?

jquery - 使用 jQuery 去除下划线

html - Twitter Bootstrap 单选按钮不起作用

forms - 表单元素是否在 FORM 标签语义 html5 之外?

javascript - 添加元素并删除它会破坏 jquery 中的所有事件处理程序?