1

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

无论哪种情况,我都希望有一个对话框告诉用户它是否成功。
该页面在提交表单时自行加载。因此,页面不是通过 Ajax 提交的。

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

更新

我找到了解决方案。您可以在此线程中阅读解决方案

4

2 回答 2

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');
}});});});
于 2009-10-28T09:00:00.983 回答
0

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

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

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

于 2009-09-20T17:32:58.673 回答