表单提交前的jquery模式对话框

时间:2012-02-08 17:37:01

标签: javascript jquery forms submit modal-dialog

我在页面上有一个表单,我将点击操作捕获到两个提交按钮上。还有另一个未被捕获的提交按钮(即我不需要显示此按钮的模态)。

所以,我明显的问题是我需要在模态首次打开时阻止提交操作,然后我需要在用户实际单击模态中的“确定”按钮时强制提交。但是,因为每个按钮都有一个与之关联的特定名称和值(后端脚本需要知道),因此$('#myform')。submit()方法将无效。

function something(msg) {
    var $dialog = $('<div></div>').html(msg).dialog({
        autoOpen: false,
        title: 'Please confirm...',
        modal: true,
        buttons: {
            "OK": function () {
                $dialog.dialog('close');
                //submit needs to happen here
            },
            Cancel: function () {
                $(this).dialog("close");
            }
        }
    });
    $dialog.dialog('open');
    event.preventDefault();
    return false;
}

1 个答案:

答案 0 :(得分:1)

我将包含一个隐藏字段,以显示单击的提交按钮的名称和值:

<input type="hidden" name="subName" value="" />

$("#submit_button_one").function() {
    $("input[name='subName']").attr("name", $(this).attr("name")).val(($(this).val());
    something("message");
    return false;
});
$("#submit_button_two").function() {
    $("input[name='subName']").attr("name", $(this).attr("name")).val(($(this).val());
    something("message");
    return false;
});

function something(msg, act) {
    // ...
    //submit needs to happen here
    $('#myform').submit()
}