- Home
- Categorie
- Coding e Sistemistica
- Javascript & Framework
- innerHTML errore di run-time in IE
-
innerHTML errore di run-time in IE
Ciao a tutti, eccomi qui con un problema in IE che mi sta dando sui nervi.
Sto imparando ad utilizzare Ajax ma sono solo agli inizi e subito mi si è posto questo probelma che penso riguardi maggiormente l'aspetto javascript. Ho creato il seguente codice per fare in modo che al change di una select venga interrogato il db per popolare la seconda select. E in effetti se io visualizzo il codice html che viene restituito a oXHR.responseText è corretto ed è il seguente:<select name="rgId" class="campiformSelectMedia" onchange="richiediEl(event)"> <option value=""> </option> <option value="1">Abruzzo</option> <option value="2">Basilicata</option> <option value="3">Calabria</option> <option value="4">Campania</option> <option value="5">Emilia-Romagna</option> <option value="6">Friuli-Venezia Giulia</option> <option value="7">Lazio</option> <option value="8">Liguria</option> <option value="9">Lombardia</option> <option value="10">Marche</option> <option value="11">Molise</option> <option value="12">Piemonte</option> <option value="13">Puglia</option> <option value="14">Sardegna</option> <option value="15">Sicilia</option> <option value="16">Toscana</option> <option value="17">Trentino-Alto Adige</option> <option value="18">Umbria</option> <option value="19">Valle D'Aosta</option> <option value="20">Veneto</option> </select> ```ma se applico la seguente funzione js in firefox e chrome funziona, in IE mi da l'errore "Messaggio: Proprietà o metodo non supportati dall'oggetto" riferendosi alla riga selectElm.innerHTML = sText;
function mostraDatiOttenuti(sText,oElemento)
{
// dove oElemento è il select che fa popolare la seconda select
e la selectElm è il successivo campo select che inizialmente è disattivo e non popolato e che io voglio sostituire con l'html restituitomi
var selectElm = oElemento.nextSibling;selectElm .innerHTML = sText;
}
-
Non sono sicuro che sia questo il caso ma generalmente la manipolazione del DOM tramite javascript puro comporta l'utilizzo di codice aggiuntivo che permette di evitare problemi cross-browser, per questo motivo credo tu debba utilizzare un libreria tipo jquery oppure approfondire la questione ed adattarti ai browser.