0

我有一份提交表格。我想如果有人提交相同的数据可以显示 jquery 对话框“这个数据已经存在!你确定要输入吗?” 然后选择确定或取消。你能告诉我我必须做的步骤吗?谢谢。

4

1 回答 1

1

将带有数据的 ajax 请求发送到服务器端,如果数据存在,则返回某种错误代码。然后在 ajax 处理程序中检查错误,如果存在则显示消息“数据已存在”,如果不显示消息“数据已添加”。服务器端应该检查重复并插入新数据。

如果用户在“数据存在”对话框中选择“确定”,则发送另一个带有参数的请求以抑制重复错误。

客户:

$.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 回答