Continuando adottando il mio codice per lavorare con IE jquery ...valore di impostazione input nascosto che non funziona come previsto in IE7 e IE8
Ho un nascosti div
contenente un form per modificare alcune informazioni. Quando l'utente seleziona l'elemento da modificare, viene mostrato questo div e i campi vengono popolati con le informazioni per l'articolo. Che div (in termini semplificati) si presenta così:
<div id="editform">
<form action="" method="post" id="qform" name="qform">
First param: <input name="field1" id="field1"/> <br/>
Second param: <input name="field2" id="field2"/> <br/>
...
<input type="hidden" name="qid" id="qid" value=""/>
<img id="submit" src="..." alt="..." title="..." />
</form>
ho utilizzare jQuery per impostare i valori nei campi. La mia funzione per l'apertura del div di modifica simile a questa:
function edit_item(item_id) {
item = get_item(item_id); //this will return a JS object
$('#field1').val(item.property1);
$('#field2').val(item.property2);
...
$('#qid').val(item_id);
$('#submit').click(function() {
alert($('#qid').val());
$('#qform').ajaxSubmit();
});
}
Tutto questo funziona bene in FF, Opera, Webkit e IE 9, ma in IE7 e IE8, sto avendo un problema strano. Riesco a vedere impostato correttamente nella funzione edit_item
, tuttavia non appena tale funzione viene completata, il valore di input nascosto (qid
) viene reimpostato sulla stringa vuota. Quando il modulo è inviato ajax, l'avviso mostra che il valore è una stringa vuota nonostante sia stata impostata correttamente. È interessante notare che tutti gli altri campi vanno bene. E funziona correttamente in IE 9.
Cosa mi manca qui? Molte grazie in anticipo.
ID sono tenuti ad essere unico nelle specifiche HTML. Hai multipli di "# field1". Inoltre, gli ID non possono iniziare con un segno cancelletto. Vedi: http://stackoverflow.com/questions/448981/what-characters-are-valid-in-css-class-names –
Grazie per il commento, tuttavia questo non è il problema. Nel mio codice reale entrambi sono validi: ID univoco e nessun segno di hash: errori di battitura durante la creazione di codice semplificato per la domanda. –
forse la funzione edit_item è stata attivata ancora una volta con il parametro item_id errato? hai provato ad aggiungere un avviso (item_id); riga per la funzione edit_item? – Serhiy