提交表单之前使用确认对话框的正确方法是什么?我在实现中发现两个问题,但找不到解决方案。
1)我在提交时显示一个对话框。我在 ShowConfirmation 中使用全局变量“val”,这在 ShowConfirmation 函数之外不可见。如果我使用调试器,“.Submit”函数中的“val”未定义。
2)因为我有“e.preventDefault”,所以未提交表单。在函数 ShowConfirmation 中强制“提交”不会提交表单。
<input type="submit" class="button" value="CONFIRM" onclick="Confirm())">
<Script>
var val;
$("#form").submit(function(e)
{
// confirmation popup
e.preventDefault();
if (val==true)
{
// Do something
}
})
ShowConfirmation(val) {
var r = confirm("Press a button");
if (r == true) {
console.log("you pressed ok");
.....
val=true;
$("#form").submit();
}
else {
console.log("you pressed cancel");
}
}
Confirm() {
...
...
ShowConfirmation(val);
}
</Script>
最佳答案
希望以下代码有帮助:
$("#form").submit(function()
{
if (confirm("Press a button"))
{
// Do something
console.log("you pressed ok");
$(this).off("submit").submit();
}
else {
console.log("you pressed cancel");
}
return false;
})
关于javascript - 提交表单之前使用确认对话框的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28981982/