0

送信フォームが1つあります。誰かが同じデータを送信した場合、jqueryダイアログを表示できます「このデータはすでに存在します!入力してもよろしいですか?」次に、[OK]または[キャンセル]を選択します。私がしなければならないステップを教えてもらえますか?ありがとう。

4

1 に答える 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 に答える