J'utilise jQuery pour envoyer un formulaire dans une application MVC. J'ai un point d'arrêt à l'intérieur du contrôleur et je vois qu'il est frappé deux fois. Qu'est-ce que je fais mal?Pourquoi est-ce que je soumets le formulaire deux fois? jQuery submit() avec le bouton radio
Voici mon jQuery
(function ($) {
$(document).ready(function() {
$(':radio').change(function() {
$('#frmMDR').submit();
});
});
})(jQuery);
et voici le formulaire html
<form action="/Module/ModuleIndex" id="frmMDR" method="get">
<input id="rdoMaintenance" name="module" type="radio" value="Maintenance" /><label for="rdoMaintenance">M</label>
<input id="rdoDiagnostics" name="module" type="radio" value="Diagnostics" /><label for="rdoDiagnostics">D</label>
<input id="rdoRepair" name="module" type="radio" value="Repair" /><label for="rdoRepair">R</label>
<input id="hdnVehicle" name="hdnVehicle" type="hidden" value="" />
</form>
Je suppose que je ne devrais pas utiliser l'événement de changement. Si quelqu'un sait comment corriger le problème, j'aimerais entendre des idées. Merci beaucoup pour tous les conseils.
Cheers,
~ ck à San Diego
Une raison probable pourrait être que le gestionnaire d'événements soit attaché deux fois. Essayez '$ (": radio "). Data ('events'). Change.length' dans la console du navigateur (Firebug). S'il renvoie 2, vous avez 2 gestionnaires de changement attachés. – vsr
de côté: '$ (': radio')' attachera le gestionnaire d'événement à tous les boutons radio (s'il y en a) sur la page. Je préfère '$ ('# frmMDR: radio'). Change (function() {' ou '$ (': radio', '# frmMDR'). Change (function() {'. – vsr
oui c'est absolument le problème Comment puis-je résoudre ce problème? Pourquoi est-ce que je fais deux fois le câblage du gestionnaire? Merci! – Hcabnettek