Как отобразить диалоговое окно подтверждения перед отправкой формы с использованием метода jQuery ajax? - PullRequest
6 голосов
/ 18 февраля 2010

Я использую jquery ajax для удаления клиента из таблицы.Как мне показать окно подтверждения перед отправкой формы?Я бы предпочел использовать диалог jQuery.

Я видел подобные вопросы раньше, но ни один из них не помог.

Это мой код:

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

Ответы [ 2 ]

11 голосов
/ 18 февраля 2010

Функция ajax имеет событие beforeSend , которое можно использовать для отображения диалогового окна перед отправкой формы.

Если в диалоговом окне указано, что форма не должна быть отправлена, то вы вернете 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 , поскольку он упрощает процесс отправка форм через AJAX очень выгодна для вас и использует все те же параметры, что и вызов ajax.

1 голос
/ 18 февраля 2010

Вам необходимо создать функцию, которая будет отображать вызов, который вы показываете после проверки ввода пользователя.

например:

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");
}

Вызывайте эту функцию, когда хотите удалить.

...