Jquery 在表单提交时显示确认对话框

标签 jquery dialog form-submit

我需要在单击图像时显示确认对话框。仅当 jquery 确认对话框返回 true 时,才应执行图像“onclick”部分中的代码。

此时,当用户单击 $(".submit_image") - 会显示对话框,但表单仍会提交。

jquery.alerts 插件或常规 javascript 确认对话框的逻辑应该相同。

<form name="myform">
<img class="submit_image" onclick="myform.field1.value='1';myform.field1.value='2'; myform.submit();">
</form>


$(document).ready(function(){
   // catch submit 
   $(".submit_image").click(function(e){
       jConfirm('Can you confirm this?', 'Confirmation Dialog', function(r) {
      return r;
       });
   });
});

最佳答案

return jConfirm('Can you confirm this?', 'Confirmation Dialog', function(r) {
  return r;
});

也许? jQuery 需要您从 .click 函数返回“false”以停止默认操作,而现在您没有从该函数返回任何内容。

* 编辑*

我刚刚查看了 jConfirm,由于它的工作原理(特别是因为它不返回任何内容;它只能通过回调返回值),不可能按照您想要的方式使用它。您需要做的只是始终从 onclick 处理程序返回 false,然后在 jConfirm 回调中手动调用表单提交。

示例:

$(document).ready(function(){
  // catch submit 
  $(".submit_image").click(function(e){
    jConfirm('Can you confirm this?', 'Confirmation Dialog', function(r) {
      // If they confirmed, manually trigger a form submission
      if (r) $(".submit_image").parents("FORM").submit();
    });
    // Always return false here since we don't know what jConfirm is going to do
    return false;
  });
});

关于Jquery 在表单提交时显示确认对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1411910/

相关文章:

javascript - chart js 2 如何设置条宽

javascript - 使用 CSS 动画和 jQuery 删除 div 消息

javascript - Angular JS动态初始化具有不同参数的服务

dialog - 在 Windows 8 中的 C#/MonoGame 应用程序中输入文本

javascript - 通过jquery一起提交表单和变量

jquery - 通过 jquery/ajax 在表单提交中传递数据

javascript - 如何从 FileReader() 获取路径目录?

Angular Material : Change background color of a dialog window

flutter - 在 flutter 中按下按钮弹出对话框

jquery:阻止默认浏览器表单提交行为,但使用 jquery 提交表单?