使用 PreventDefault() 时如何在单击按钮时提交表单?

2023-12-22

我正在使用 jQuery.preventDefault()以防止用户单击 [ENTER] 键时提交表单。问题是,当我单击提交按钮时,它也会停止表单提交。

我看到 Stackoverflow 上有很多关于.preventDefault(),但他们都没有解决我的问题。

这是我目前正在处理的代码。

// Part of my form
<form id="subscription_order_form" class=""  method="post" action="some_url"> 
  <button id="btn_order" type="submit">Order</button>
</form>

// Prevent the form to be submitted on ENTER
$('#subscription_order_form').submit(function(e){
  e.preventDefault();
});

// Controll data
$('#btn_order').click(function(){
  checkMandatoryFields();
});


// Check mandatory fields before subitting:
function checkMandatoryFields(e){

  // Code for testing here

  // Set "error" message and abort submission
  if(msg.length > 0) {
    // Do something
  } else {

    //submit or trigger is not recognized as functions
    $('#subscription_order_form').submit(); //.trigger('submit');

  }
}

谁能告诉我点击按钮提交表单的代码是什么?


在 DOM 节点(而不是 jQuery 对象)上触发提交事件。

$('#subscription_order_form')[0].submit();

or

$('#subscription_order_form').get(0).submit();

or

document.getElementById("subscription_order_form").submit();

这绕过了 jQuery 绑定事件,允许表单正常提交。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 PreventDefault() 时如何在单击按钮时提交表单? 的相关文章