我有一個表單,用戶可以提交信息。提交可能會成功或者不成功。表單提交後的jQuery UI對話框
在這兩種情況下,我都需要一個對話框來告訴用戶它是否成功。
頁面會在表單提交中加載。 Ergo,頁面不通過Ajax提供。
我知道如何通過點擊一個按鈕/鏈接等 觸發對話框但我怎麼能使用表單提交jQuery UI Dialog後?
UPDATE
我已經找到了解決辦法。 You can read the solution in this thread。
我有一個表單,用戶可以提交信息。提交可能會成功或者不成功。表單提交後的jQuery UI對話框
在這兩種情況下,我都需要一個對話框來告訴用戶它是否成功。
頁面會在表單提交中加載。 Ergo,頁面不通過Ajax提供。
我知道如何通過點擊一個按鈕/鏈接等 觸發對話框但我怎麼能使用表單提交jQuery UI Dialog後?
UPDATE
我已經找到了解決辦法。 You can read the solution in this thread。
您應該能夠將事件處理程序綁定到表單上的提交事件。
$("form_name_here").bind("submit", function(){$("dialog").open()})
或者任何方法是顯示對話框。我記不起我的頭頂。另一種選擇是使用jQuery表單插件,因爲我假設你使用ajax來提交表單。通過這種方式,您可以傳遞與提交表單相關的所有事件的方法。之前,之後,成功,失敗等。
表單未使用Ajax提交。所以你的解決方案只會在點擊後顯示對話框,但在頁面重新加載之前。 – Steven 2009-09-20 17:57:21
當頁面打開時,您的腳本應該嘗試打開對話框。服務器響應將不得不添加url參數或在腳本中設置一個變量以確定應用程序處於何種狀態(新建,失敗,成功)。我認爲這是你唯一的選擇,因爲你不使用ajax。 – ScottyUCSD 2009-09-20 21:43:26
不要使用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-28 09:01:18