2015-12-16 10 views
6

Sto riscontrando gravi problemi con gli input che utilizzano ng-model in IE (11 e tutte le versioni precedenti), ma tutto funziona correttamente in tutti gli altri browser. Questo problema è stato osservato per la prima volta la scorsa settimana. Non abbiamo apportato aggiornamenti a questa sezione della nostra applicazione e non abbiamo ricevuto alcuna segnalazione di utenti che hanno riscontrato questo problema prima della scorsa settimana.Angolare e Internet Explorer 11 - Gli input non funzionano correttamente

Stiamo eseguendo Angular 1.4.3.

In sostanza, gli ingressi come questo:

<input data-ng-model="answer.value"></input> 

non vengono aggiornati correttamente il modello. Sembra un problema con gli eventi onChange o onFocus: gli input non perdono mai le loro classi ng-incontaminate e intoccate. Stanno correttamente visualizzando il valore iniziale dal modello, ma qualsiasi aggiornamento effettuato dall'utente non riesce semplicemente a salvare. Abbiamo sperimentato con l'aggiunta di un tag <meta http-equiv="X-UA-Compatible" content="IE=11" /> alla nostra testa senza alcun risultato. La rimozione di tutte le convalide dagli input non fa differenza. Non ci sono errori o avvisi della console.

+0

'input' non ha bisogno di un tag' 'di chiusura. Basta renderlo auto-chiudente '' Potrebbe non essere il problema ... ma potrebbe ?! – AdamJeffers

+0

Non funziona nemmeno come tag di chiusura automatica. –

+1

Ho avuto gli stessi sintomi di input non aggiornando ng-model solo in IE, ma non sono sicuro se la causa principale fosse la stessa. La nostra app il problema era che uno dei div sulla struttura aveva impostato l'attributo 'disabled' su di esso. –

risposta

1

Ho avuto problemi simillari e la soluzione sembra essere facile. Se si dispone di un codice simile in questo modo:

<form name="myForm"> 
    <table ng-disabled="formToggle"> 
     ... 
     <input ng-model="form.name" /> 
     ... 
    </table> 
</form> 

IE10, IE11 non controllerà i campi e non definiranno i propri valori sporchi incontaminate sulla forma (altri browser funziona bene). Basta rimuovere ng-disabled (dalla tabella in questo caso e in altri casi dall'elemento padre) e funzionerà.

+0

Purtroppo nella nostra configurazione non esiste un elemento effettivo

. Proverò a sperimentare il tuo ragionamento se ne avrò la possibilità - a questo punto è passato quasi un anno da quando abbiamo abbandonato formalmente il supporto di IE e siamo felici di non supportarlo! –