如何强制提交 - 提交事件中的异步代码
How to force submit - Asynchronous code in submit event
我试图强制提交我的表单,问题是我使用 bootboxjs
(使用异步代码)在提交前制作一个确认对话框,这正是我想要的,所需的输入也以这种方式验证。
这是我的 JS 代码的结构:
$("#myForm").submit(function(e){
bootbox.confirm({
message: "Are you sure?",
buttons: {
confirm: {
label: 'Yes',
className: 'btn-danger'
},
cancel: {
label: 'NO, STOP!',
className: 'btn-primary'
}
},
callback: function (result){
if (result)
{
// Some code to set values to hidden inputs and another irrelevant stuff...
// The right command (that I didn't know) to force the form
}
}
});
return false;
});
如何避免此问题并保留对所需输入的验证?
您可以阻止 jquery 事件并在您准备好时使用本机事件强制浏览器默认提交
$("#myForm").submit(function(e){
// store reference to form due to callback context
var form = this;
bootbox.confirm({
message: "Are you sure?",
buttons: {... },
callback: function (result){
if (result)
{
// Some code to set values to hidden inputs and another irrelevant stuff...
// Now use native submit
form.submit();
}
}
});
// prevents jQuery submit only
return false;
});
我试图强制提交我的表单,问题是我使用 bootboxjs (使用异步代码)在提交前制作一个确认对话框,这正是我想要的,所需的输入也以这种方式验证。
这是我的 JS 代码的结构:
$("#myForm").submit(function(e){
bootbox.confirm({
message: "Are you sure?",
buttons: {
confirm: {
label: 'Yes',
className: 'btn-danger'
},
cancel: {
label: 'NO, STOP!',
className: 'btn-primary'
}
},
callback: function (result){
if (result)
{
// Some code to set values to hidden inputs and another irrelevant stuff...
// The right command (that I didn't know) to force the form
}
}
});
return false;
});
如何避免此问题并保留对所需输入的验证?
您可以阻止 jquery 事件并在您准备好时使用本机事件强制浏览器默认提交
$("#myForm").submit(function(e){
// store reference to form due to callback context
var form = this;
bootbox.confirm({
message: "Are you sure?",
buttons: {... },
callback: function (result){
if (result)
{
// Some code to set values to hidden inputs and another irrelevant stuff...
// Now use native submit
form.submit();
}
}
});
// prevents jQuery submit only
return false;
});