2010-02-18 2 views
6

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

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

Это мой код:

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

ответ

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.

+0

Я использовал плагин jquery form, но столкнулся с несколькими проблемами. Мне легче (не быстрее LOL) делать вещи без плагина. Спасибо за ответ, это то, что я ищу. для чего (просьба)? – user272899

+0

@ user272899: Параметр request содержит экземпляр XMLHTTPRequest, который будет использоваться для выполнения запроса. Вам это не обязательно нужно, но оно передается функции. – casperOne

+0

@ user272899: Кроме того, если вы хотите, подробно рассмотрите проблемы с плагинами формы jQuery. Я написал некоторую информацию об использовании плагина формы jQuery наряду с проверкой (вещи, которые вы должны искать) здесь: http://stackoverflow.com/questions/1996125/how-to-use-jquery-validation-plugin- с-метаданными-и-JQuery-форм-плагин-ш – casperOne

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

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

Смежные вопросы