【问题标题】:jquery before submit open dialog wait until button clickjquery在提交打开对话框之前等待按钮点击
【发布时间】:2013-02-06 08:58:59
【问题描述】:

我尝试使用带有 jquery 模态对话框的表单提交。看下面的代码。

$(function() {

var sendConfirmation = false;

$( "#dialog-form" ).dialog({
  autoOpen: false,
  height: 300,
  width: 350,
  modal: true,
  buttons: {
    "Send": function() {
        sendConfirmation = true;
    },
    "Close": function() {
        $(this).dialog("close");
    }
  }
});

$("#send").submit(function(event) {
    //If user click on modal dialog "Send", then submit should be trigger.
    //And if user click "Close"
    $(this).trigger("recaptcha");
    return false;
    /*if(sendConfirmation) {
        return true;
    } else {
        return false;
    }*/

});

$("#send").bind("recaptcha", function() {
        $( "#dialog-form" ).dialog( "open" );
        //return false;
    }); 
  });

如果用户点击提交按钮,对话框将打开,提交应该等到模态对话框上的“确定”按钮被点击,然后提交应该被执行。
主要思想是,当用户单击提交按钮时,模态对话框将打开,并且在模态对话框上是recaptcha。用户输入 recaptcha 代码并单击 OK 按钮,应提交数据。

【问题讨论】:

  • 好!!现在你的问题是什么?
  • 如何停止提交流程,直到单击确定按钮?如果用户单击模态对话框上的“确定”按钮,则应提交表单。
  • 发生在我身上的事情是,我想要的是在提交之前和之后的过滤器,比如 rails 过滤器。
  • 我通过定义布尔类型的变量来解决问题。一开始,变量被设置为假。用户单击对话框上的确定按钮后,变量将设置为 true 并提交表单。在提交函数中,我验证变量是否为真,如果是则返回真其他假。
  • 很好,您的问题已解决。

标签: jquery submit modal-dialog


【解决方案1】:

JavaScript 是单线程的,由于 JavaScript 用于显示对话框并处理对其的任何点击,因此无法在不阻止 UI 的情况下阻止执行。尝试使用对话框按钮的回调函数

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-08
    • 1970-01-01
    • 2017-04-15
    • 2013-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多