J'ai un formulaire Ajax dans mon application.Je veux passer l'événement à OnBegin
fonction, puis utiliser event.preventdefault()
qui va arrêter le formulaire de soumettre, puis en vérifiant certaines conditions que je suis en train de soumettre le formulaire manuellement.Mais ce n'est pas travailler et je ne suis pas capable de comprendre pourquoi.Est-il possible de passer un événement à une fonction OnBegin d'un formulaire Ajax?
Ajax.BeginFrom:
@using (Ajax.BeginForm("Update", "Project", false, new AjaxOptions { InsertionMode = InsertionMode.Replace,
HttpMethod = "Post",
OnBegin = "return OnBeginForm(event);",
OnSuccess = "OnSuccessArtwork(data);",
OnFailure = "OnFailureArtwork(data);" },
new { id = "Ajax_form" }))
{
// Here I have all the form elements //
<input type="submit" id="btnUpdate" class="btn02 pull-left" value="Update"/>
}
fonction OnBegin:
function OnBeginForm(e) {
e.preventDefault();
if(some condition){
$('#Ajax_form').submit();
}
else{
return false;
}
}
Nous ne pouvons pas déclencher le soumettre. Il en résultera une boucle infinie à la place nous devrons soumettre manuellement le formulaire en utilisant 'on ('submit')'. En tout cas merci et +1 de mon côté. –
@JibinBalachandran, es-tu tombé sur une boucle infinie pendant le débogage? – stom
Cela crée une boucle infinie parce que $ ('Ajax_form'). Trigger ('submit'); 'déclenche l'événement submit qui à son tour appelle' OnBeginForm() 'qui déclenche l'événement submit qui appelle' OnBeginForm() 'qui déclenche ..... –