javascript - 当我在特定表单元素上单击 "enter"时拒绝提交

标签 javascript jquery html

这可能有点棘手。

我有一个包含 10 个文本框的表单(考虑它的 name1、name2 .. name10)

我想要的是当我关注 name1 文本框并点击“输入”时,不应提交表单。相反,我想调用一个函数。

但是当我在关注其他表单元素而不是 name1 时点击“enter”时,应该会提交表单。

如果您认为有任何其他想法可以做到这一点,请建议我。

注意:我无法将元素移出表单。

最佳答案

对第一个输入元素使用按键事件,并使用 event.preventDefault(); 阻止表单提交

$(document).ready(function() {
  $("#name1").keydown(function(event){
    if(event.keyCode == 13) {
      calculate() // call your function here
      event.preventDefault();
    }
  });
  
  $( 'form' ).on( 'submit' , () => { // arrow function
    console.log("submited"); // form
} );
  function calculate() {
    console.log("prevent submitting");
  }

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.js"></script>

<form>
  <input id="name1" type="text" />  
  <input type="text" />
  <input type="text" />
  <input type="text" />
  <input type="text" />
  <input type="text" />
  <input type="text" />
  <input type="text" />
  <input type="submit" value="Go">
</form>

关于javascript - 当我在特定表单元素上单击 "enter"时拒绝提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58671745/

相关文章:

javascript - 根据相似索引将 tbody td 附加到 th

javascript - 如何通过ajax发送或获取日期值

javascript - 如何选择所有选择了特定值的下拉菜单?

javascript - 使用 anchor 标记通过 KnockoutJS 刷新 Viewmodel 的简单方法

Javascript虚拟网页创建

javascript - 如何在 React 组件属性更改时获取数据?

javascript - 如何使用 angularJs 在页面中显示数组数据

javascript - 过滤嵌套对象并保留父对象

php - 带有简单嵌入式 php 的 HTML 页面不显示任何内容

javascript - 如何使轮播字幕响应?我在描述框中添加了图片和代码,请查看