送信フォームが1つあります。誰かが同じデータを送信した場合、jqueryダイアログを表示できます「このデータはすでに存在します!入力してもよろしいですか?」次に、[OK]または[キャンセル]を選択します。私がしなければならないステップを教えてもらえますか?ありがとう。
1 に答える
1
データを含むajaxリクエストをサーバー側に送信し、データが存在する場合は、ある種のエラーコードを返します。次に、ajaxハンドラーでエラーをチェックし、存在する場合は「データはすでに存在します」というメッセージを表示し、存在しない場合は「データが追加されました」というメッセージを表示します。サーバー側は重複をチェックし、新しいデータも挿入する必要があります。
ユーザーが[データが存在する]ダイアログで[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
}
}
于 2010-08-04T05:44:21.350 に答える