J'ai eu Darin la solution de travail par la suite mais fait quelques erreurs de première qui a abouti à un problème similaire à David (dans les commentaires ci-dessous Darin de la solution), où le résultat est l'affichage d'une nouvelle page.
Parce que je devais faire quelque chose avec la forme après le renvoi de la méthode, j'ai stocké pour une utilisation ultérieure:
var form = $(this);
Cependant, cette variable n'avait pas "d'action" ou de la "méthode" des propriétés qui sont utilisés dans l'appel ajax.
$(document).on("submit", "form", function (event) {
var form = $(this);
if (form.valid()) {
$.ajax({
url: form.action, // Not available to 'form' variable
type: form.method, // Not available to 'form' variable
data: form.serialize(),
success: function (html) {
// Do something with the returned html.
}
});
}
event.preventDefault();
});
Au lieu de cela, vous devez utiliser la variable "ce":
$.ajax({
url: this.action,
type: this.method,
data: $(this).serialize(),
success: function (html) {
// Do something with the returned html.
}
});