Y a-t-il un moyen de soumettre un formulaire mais de le laisser sur la page?
Bien sûr, vous pouvez utiliser AJAX:
@using (Html.BeginForm())
{
... some form input fields
<input type="submit" value="Go" />
}
puis discrètement AJAXify cette forme dans un fichier séparé:
$(function() {
$('form').submit(function() {
$.ajax({
url: this.action,
type: this.method,
data: $(this).serialize(),
success: function(result) {
// TODO: handle the results of the AJAX call
}
});
return false;
});
});
et pour éviter d'écrire tout ce code javascript vous pouvez prendre un regard sur l'excellent jquery.form plugin:
$(function() {
$('form').ajaxForm(function(result) {
// TODO: handle the results of the AJAX call
});
});
Une autre alternative est d'utiliser l'assistant Ajax.BeginForm ASP.NET MVC 3:
@using (Ajax.BeginForm(new AjaxOptions { OnSuccess = "success" }))
{
... some form input fields
<input type="submit" value="Go" />
}
et un gestionnaire de succès en javascript:
function success(result) {
// TODO: handle the results of the AJAX call
}
vous devez également inclure le script jquery.unobtrusive-ajax.js
en plus de jquery
à votre page si vous souhaitez utiliser les aides Ajax.*
.
En fait, juste besoin d'ajouter le script jquery.unobtrusive-ajax.js, mais merci beaucoup pour votre aide. J'ai tiré mes cheveux (ou ce qu'il en reste). – MCBrandenburg