在使用jQuery ajax方法提交表单之前,如何显示确认对话框?

时间:2010-02-18 18:33:12

标签: jquery ajax forms submit confirmation

我正在使用jquery ajax从表中删除客户。在提交表格之前如何显示确认框?我最好使用jQuery的对话框。

我以前见过这样的问题,但没有人帮助过。

这是我的代码:

    $.ajax({
        type: "POST",
        url: "delete/process.php",
        data: "delcustomerid="+ delcustomerid,
        success: refreshTable
    });

2 个答案:

答案 0 :(得分:11)

您可以使用ajax function has a beforeSend event在提交表单之前显示对话框。

如果对话框指示不应提交表单,那么您将从函数返回false,以便不会提交表单。

在您的情况下,您将执行以下操作:

$.ajax({ 
    beforeSend: function (request) {
        // This is where you show the dialog.
        // Return false if you don't want the form submitted.
    },

    type: "POST", 
    url: "delete/process.php", 
    data: "delcustomerid="+ delcustomerid, 
    success: refreshTable 
});

如果您要为表单发布POST(您似乎是这样),我高度建议您查看jQuery form plugin,因为它简化了通过表单提交表单的过程AJAX为您调用了很多东西,并使用调用ajax所有相同的参数。

答案 1 :(得分:1)

您需要创建一个函数,在检查用户输入后进行显示的调用。

例如:

function DeleteWithCheck() {
  if (confirm("Are you sure you want to delete customer "+delcustomerid.ToString()))
  {
    $.ajax({
      type: "POST",
      url: "delete/process.php",
      data: "delcustomerid="+ delcustomerid,
      success: refreshTable
    });
  }
  else
    alert("Aborted");
}

如果要进行删除,请调用此函数。