javascript - 提交表单之前使用确认对话框的正确方法

标签 javascript jquery forms

提交表单之前使用确认对话框的正确方法是什么?我在实现中发现两个问题,但找不到解决方案。
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/

相关文章:

javascript - cordova-plugin-Firebase 0.1.25 “更新后的 Google Firebase 插件无法为 Android 构建

javascript - 如何以美观的方式将 <select> 和 &lt;input&gt; 结合起来?

javascript - 将单词按正确的顺序放置以通过拖放造句

php - 错误 405(不允许的方法)Laravel 5

html - 为什么 Chrome 移动我的表单标签并在选择接收焦点时选择?

php - 更新/删除多个选中的数据

javascript - 自动更新package.json中的依赖项

javascript - 如何计算字符串中某个字符出现的次数而不是其中一个?

javascript - react /归零 : TypeError: Cannot read property 'target' of undefined

javascript - 如何使用jQuery加载codepress