Ho eventi per "invio" su un modulo. In IE8, se invio il modulo senza inserire alcuna informazione, è sufficiente fare clic sul pulsante di invio, il modulo viene pubblicato e non viene mai rilevato o gestito dall'evento definito in Backbone. Tuttavia, se faccio semplicemente clic su un campo di input, quindi invio invio l'evento viene gestito.Gli eventi di Backbone.js non vengono riconosciuti in IE8
L'evento spina dorsale è configurato in questo modo:
events: {
'submit #form': 'submitForm',
},
submitForm: function(e){
e.preventDefault();
}
Tutte le idee perché questo sarebbe?
Aggiornamento: Ecco un esempio di forma:
<div id="form">
<form action="/action" method="post">
<input type="text" name="name" />
<button type="submit" value="Submit"></button>
</form>
</div>
È letteralmente solo in IE8 e solo se prima non fa clic su un elemento all'interno del modulo, prima di inviarlo. L'evento è attivato in FF, Chrome, IE9 + senza problemi. Ma solo in IE8, se fai semplicemente clic su Invia, senza fare altro, l'evento non viene attivato.
è un pulsante di invio o solo un pulsante?pulsante di invio invia un post all'attributo action form. Inoltre è '# form' all'interno di' this. $ El' nella vista? fai questo all'interno del metodo di rendering 'console.log (this. $ el.find (" # form "))' verifica che la console abbia registrato l'oggetto jquery – Deeptechtons
Sì - abbiamo bisogno di maggiori informazioni, come l'HTML che la vista sta rappresentando – Stephen
You potrebbe anche essere necessario aggiungere 'e.stopPropagation();'. – ebohlman