Javascript 函数中的.submit()工作2次

Javascript 函数中的.submit()工作2次,javascript,Javascript,这是我的密码 HTML 问题是在IE11上,表单提交了2次。 我试着用两种方法创建了onclick,onclick=“return addfnction();”,以及onclick=“addfnction();”,,结果与2 submit生成的结果相同。这是因为您正在调用jQuery的submit方法,该方法再次调用submit处理程序。它可能导致对提交处理程序的递归调用 相反,尝试调用dom的submit方法,还需要从处理程序返回false,以停止按钮单击的默认操作 function addF

这是我的密码

HTML

问题是在IE11上,表单提交了2次。
我试着用两种方法创建了
onclick
onclick=“return addfnction();”,
以及
onclick=“addfnction();”,
,结果与2 submit生成的结果相同。

这是因为您正在调用jQuery的submit方法,该方法再次调用submit处理程序。它可能导致对提交处理程序的递归调用

相反,尝试调用dom的
submit
方法,还需要从处理程序返回
false
,以停止按钮单击的默认操作

function addFNFAction() {

  //console.log("addFNFAction");

  var form = $("#intl-numbers-list-form");
  if (form.valid() == true) {
    $('#ion_loader').show();
    $('#ion_add').attr("disabled", true);
    form[0].submit();
  }
  return false;
}

这是因为您正在调用jQuery的submit方法,该方法将再次调用submit处理程序。它可能导致对提交处理程序的递归调用

相反,尝试调用dom的
submit
方法,还需要从处理程序返回
false
,以停止按钮单击的默认操作

function addFNFAction() {

  //console.log("addFNFAction");

  var form = $("#intl-numbers-list-form");
  if (form.valid() == true) {
    $('#ion_loader').show();
    $('#ion_add').attr("disabled", true);
    form[0].submit();
  }
  return false;
}

基本上,浏览器正在进行表单提交,然后单击处理程序再次提交表单。 您应该删除按钮上的onclick处理程序,并将onsubmit处理程序添加到表单标记中

尝试将此作为开始表单标记:-

<form class="vfr-validate" id="intl-numbers-list-form" onSubmit=addFNFAction method="post">

基本上,浏览器正在进行表单提交,然后单击处理程序再次提交表单。 您应该删除按钮上的onclick处理程序,并将onsubmit处理程序添加到表单标记中

尝试将此作为开始表单标记:-

<form class="vfr-validate" id="intl-numbers-list-form" onSubmit=addFNFAction method="post">

你能分享生成的HTML吗?你能分享生成的HTML吗?这对我有效,但在按钮
上添加
onSubmit
操作而不是
onClick
这对我有效,但是将
onSubmit
操作添加到
onClick
按钮
function addFNFAction(event) {

        //console.log("addFNFAction");
        event.preventDefault();
        var form = $("#intl-numbers-list-form");
        if (form.valid() == true) {
            $('#ion_loader').show();
            $('#ion_add').attr("disabled", true);
            form.submit();
        }

}