2010-02-18 13 views
6

Ich benutze jquery ajax, um einen Kunden aus einer Tabelle zu löschen. Wie würde ich vor dem Absenden des Formulars ein Bestätigungsfeld anzeigen? Ich würde vorzugsweise den Dialog von jQuery verwenden.Wie zeige ich vor dem Senden eines Formulars mit der jQuery ajax-Methode einen Bestätigungsdialog an?

Ich habe Fragen wie diese schon einmal gesehen, aber keine von ihnen hat geholfen.

Dies ist mein Code:

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

Antwort

11

Die ajax function has a beforeSend event, die Sie den Dialog zeigen, verwenden können, bevor das Formular abgeschickt wird.

Wenn der Dialog anzeigt, dass das Formular nicht gesendet werden soll, dann würden Sie false von Ihrer Funktion zurückgeben, so dass die Einreichung des Formulars nicht stattfindet.

In Ihrem Fall würden Sie wie folgt vorgehen:

$.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 
}); 

Wenn Sie eine POST für das Formular Ausgabe (die es scheint, Sie sind), ich sehr empfehlen Ihnen, einen Blick auf die jQuery form plugin wie es vereinfacht den Prozess der Einreichung von Formularen durch AJAX Anrufe sehr viel für Sie, und verwendet alle die gleichen Parameter einen Anruf an ajax tut.

+0

Ich habe das jquery-Form-Plugin verwendet, aber lief ein paar Probleme. Ich finde es einfacher (nicht schneller lol) Dinge ohne das Plugin zu tun. Danke für die Antwort, es ist genau das, wonach ich suche. Was ist (Anfrage) für? – user272899

+0

@ user272899: Der Anforderungsparameter enthält die XMLHTTPRequest-Instanz, die zum Ausführen der Anforderung verwendet wird. Sie brauchen es nicht unbedingt, aber es wird an die Funktion übergeben. – casperOne

+0

@ user272899: Auch, wenn Sie möchten, auf die jQuery Form Plugin Probleme. Ich habe einige Informationen über die Verwendung des jQuery-Form-Plugins zusammen mit der Validierung (Dinge, die Sie suchen müssen) hier geschrieben: http://StackOverflow.com/Questions/1996125/how-to-use-jquery-validation-plugin- with-metadata-und-die-jquery-forms-plugin-wi – casperOne

1

Sie müssen eine Funktion erstellen, die den angezeigten Anruf nach der Überprüfung auf Benutzereingaben anzeigt.

zB:

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

Rufen Sie diese Funktion, wenn Sie den Lösch tun wollen.

Verwandte Themen