我有一个用户可以提交信息的表格。提交可以成功也可以不成功。
无论哪种情况,我都希望有一个对话框告诉用户它是否成功。
该页面在提交表单时自行加载。因此,页面不是通过 Ajax 提交的。
我知道如何通过单击按钮/链接等来触发对话框。但是如何在表单提交后使用jQuery UI 对话框?
更新
我找到了解决方案。您可以在此线程中阅读解决方案。
我有一个用户可以提交信息的表格。提交可以成功也可以不成功。
无论哪种情况,我都希望有一个对话框告诉用户它是否成功。
该页面在提交表单时自行加载。因此,页面不是通过 Ajax 提交的。
我知道如何通过单击按钮/链接等来触发对话框。但是如何在表单提交后使用jQuery UI 对话框?
更新
我找到了解决方案。您可以在此线程中阅读解决方案。
不要使用 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');
}});});});
您应该能够将事件处理程序绑定到表单上的提交事件。
$("form_name_here").bind("submit", function(){$("dialog").open()})
或者任何显示对话框的方法。我不记得了。另一个选项是使用 jQuery 表单插件,因为我假设您使用 ajax 提交表单。有了它,您可以为与表单提交相关的所有事件传递方法。之前,之后,成功,失败等。