我有一个表格,用户可以提交信息。提交可能会成功,也可能不成功。
在任何一种情况下,我都想要一个对话框告诉用户它是否成功 页面会在表单提交时加载。 Ergo,页面不会通过Ajax提交。
我知道如何通过点击按钮/链接等来触发对话框。 但是如何在表单提交后使用jQuery UI Dialog ?
更新
我找到了解决方案。 You can read the solution in this thread
答案 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来提交表单。有了它,您可以传递与表单提交相关的所有事件的方法。之前,之后,成功,失败等等。