想象一下:
<form id="form">
<input type="text">
<button type="submit" name="submit1" value="1">something1</button>
<button type="submit" name="submit2" value="2">something2</button>
<button type="submit" name="submit3" value="3">something3</button>
</form>
首先,当我编写 $('#form').submit()
时,将发送哪个提交值?第一个?
第二个问题,如何在没有 click
触发事件的情况下提交具有我想要的值的表单?有可能吗?例如,使用 2
提交值提交表单。
我想要这样做的原因是在发送我的表单之前使用 sweetalert 弹出确认窗口,所以这里是:
$('form').on('submit',function(e){
form = $(this);
e.preventDefault();
swal({'some dialog'},function(isConfirm)
{
if(isConfirm)
form.submit;
\\If I use the click trigger I will get stuck in here again.
})
});
最佳答案
还有一个替代方案 - 使用 FormData您可以创建一个 FormData
实例,添加您的 html form
,修改条目,然后发送它。那么一切都在你的掌控之中。
编辑:根据您的编辑,您似乎在重新提交表单时遇到了问题。你可以这样处理。
var form = document.querySelector('form');
form.addEventListener('submit', {
confirmed: false,
handleEvent: function (event) {
if (this.confirmed)
return;
event.preventDefault();
doconfirm((confirmed) => {
if (confirmed) {
this.confirmed = true;
form.submit();
}
})
}
}, false);
或者,您可以通过在验证后取消绑定(bind) submit
处理程序并再次提交来解决问题:$('form').off('submit').submit()
关于javascript - 使用 jquery 提交表单,该表单有多个提交按钮而无需单击触发器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36037001/