J'ai des événements pour 'soumettre' sur un formulaire. Dans IE8, si je soumets le formulaire sans entrer aucune information, il suffit de cliquer sur le bouton soumettre, il publie le formulaire et il n'est jamais attrapé ou manipulé par l'événement défini dans Backbone. Cependant, si je clique simplement sur un champ de saisie, puis cliquez sur soumettre l'événement est géré.Les événements de Backbone.js ne sont pas reconnus dans IE8
L'événement fédérateur est configuré comme ceci:
events: {
'submit #form': 'submitForm',
},
submitForm: function(e){
e.preventDefault();
}
Toutes les idées pourquoi ce serait?
Mise à jour: Voici un exemple de la forme:
<div id="form">
<form action="/action" method="post">
<input type="text" name="name" />
<button type="submit" value="Submit"></button>
</form>
</div>
Il est littéralement seulement dans IE8 et seulement si vous ne cliquez d'abord sur un élément dans la forme, avant de le soumettre. L'événement est déclenché dans FF, Chrome, IE9 + sans problème. Mais seulement dans IE8, si vous cliquez simplement sur submit, sans rien faire d'autre, l'événement ne sera pas déclenché.
est-ce un bouton soumettre ou juste un bouton?Le bouton Envoyer envoie un message à l'attribut d'action de formulaire. Est-ce que '# form' est également dans' this. $ El' dans la vue? faites cela à l'intérieur de la méthode de rendu 'console.log (this. $ el.find (" # form "))' vérifiez que la console a l'objet jquery connecté – Deeptechtons
Ouais - nous avons besoin de plus d'informations, comme le code HTML que la vue représente – Stephen
You pourrait également avoir besoin d'ajouter 'e.stopPropagation();'. – ebohlman