表单提交后的jQuery UI对话框

时间:2009-09-20 17:22:40

标签: php jquery jquery-ui-dialog

我有一个表格,用户可以提交信息。提交可能会成功,也可能不成功。

在任何一种情况下,我都想要一个对话框告诉用户它是否成功 页面会在表单提交时加载。 Ergo,页面不会通过Ajax提交。

我知道如何通过点击按钮/链接等来触发对话框。 但是如何在表单提交后使用jQuery UI Dialog

更新

我找到了解决方案。 You can read the solution in this thread

2 个答案:

答案 0 :(得分:1)

不要使用type ='submit',而是将jQuery事件绑定到普通按钮,通过ajax处理表单。当您通过ajax获得结果时,您可以在对话框中显示ajax请求的结果(PHP在对话框上生成消息),或者您可以有一个条件来检查它是否成功,然后采取适当的操作。

以下是表单中的示例。 (编码有点草率)

$(document).ready(function() {
        $('#submit').click(function() {
            name = $('#name').val();
            email = $('#email').val();
            number = $('#number').val();
            message = $('#message').val();  
            $.post("contact.php", //PHP file to send POST to
            { ajax: 'yes', name: name, email: email, number: number, message: message }, //POST fields to send
            function(returned) { //What to do if the POST finishes. 'returned' is the value recieved back from the script.
                if (returned == 'done') {
                    //PHP script returns the word 'Done'
                        alert('Submit successful');
                    });                 
                } else {
                    alert('An error has occured');
}});});});

答案 1 :(得分:0)

您应该能够将事件处理程序绑定到表单上的submit事件。

$("form_name_here").bind("submit", function(){$("dialog").open()})

或者显示对话框的方法。我不记得我的头顶。另一种选择是使用jQuery表单插件,因为我假设你使用ajax来提交表单。有了它,您可以传递与表单提交相关的所有事件的方法。之前,之后,成功,失败等等。