0
我有一個提交表單。 我想如果有人提交相同的數據可以顯示jquery對話框「這個數據已經存在!你確定要輸入嗎?」 然後選擇確定或取消。 你能告訴我必須做的那一步嗎?謝謝。顯示對話框的選項提交數據
我有一個提交表單。 我想如果有人提交相同的數據可以顯示jquery對話框「這個數據已經存在!你確定要輸入嗎?」 然後選擇確定或取消。 你能告訴我必須做的那一步嗎?謝謝。顯示對話框的選項提交數據
發送一個帶有數據的ajax請求到服務器端,如果存在數據返回某種錯誤碼。然後在ajax處理程序中檢查錯誤,如果它顯示消息「數據已存在」,如果不顯示消息「數據已添加」。服務器端應該檢查重複項並插入新數據。
如果用戶在「Data exists」對話框中選擇「ok」,則發送另一個帶有參數的請求來抑制重複錯誤。
客戶:
$.post("server.php", { "data": somedata }, function(result) {
if (result.error && result.error == 1)
if (confirm("Duplicate data, continue?"))
$.post("server.php, { "data": somedata, "suppress": 1 }, function(result) {
alert("Data was added");
});
else
alert("Data was added");
}, "json"); // we accept result in json format, jQuery will process it into JS object
服務器:
if (isset($_POST['data']) && $_POST['data'] != "") {
if (check_duplicate($_POST['data']) // don't forget to implement this
&& $_POST['suppress'] != 1)
return '{ "error": 1 }';
else {
insert_data($_POST['data']);
return '{ ok }'; // you can return empty string as well
}
}
你說 「數據」:somedata..can你給我舉例嗎? – klox 2010-08-04 06:23:41
假設你有2個表單輸入,id爲「i1」和「i2」。然後你發送這樣的數據:{「i1」:$(「#i1」)。val(),「i2」:$(「#i2」)。val()}。把這個作爲第二個參數放到$ .post()函數中。並適當地更改PHP代碼。 – fuwaneko 2010-08-04 07:36:47