Ciao a tutti quando creo un input con il DOM (con document.createElement("input")) e poi gli do attributi ecc... come mai poi quando provo a prelevareil suo valore con document.getElementById("input1") non lo trova mi retituisce null ?!?
Ciao a tutti quando creo un input con il DOM (con document.createElement("input")) e poi gli do attributi ecc... come mai poi quando provo a prelevareil suo valore con document.getElementById("input1") non lo trova mi retituisce null ?!?
vediamo un po' di codice,
comunque se il problema fossero i name su IE leggi qui
http://www.thunderguy.com/semicolon/...rnet-explorer/
Immagino che ti sia dimenticato di assegnargli l'id...
codice:var tuoInput = document.createElement("input"); tuoInput.setAttribute("id", "input1");
assolutamente no, l'id è stato assegnato...
ma lo hai appeso in pagina se no è ovvio che non lo trova.
io avrei una mia teoria anche stupida potrete dirmi ma riguarda la differenza che vi è tra la scrittura nell'HTML e l'interpretrazione di JS, di fatti secondo me non funge in quanto gli inputs creati tramite JS non vengono realmente scritti nella pagina HTML ma interpretati, dunque ciò causa l'assenza della connessione di JS con quell'input anche dandogli l'id.... ma se è vera questo mia supposizione... come fare ?
ma ascolti le risposte che ti diamo? mi pare di no... e apri anche + discussioni per lo stesso argomento
codice:<div id="risultato"> <script> var ciao = document.createElement("input"); ciao.setAtribute("id","myid"); document.getElementById("risultato").appendChild(ciao); alert(document.getElementById("myid")); <script>
La supposizione è sbagliata. Se hai correttamente appeso l'elemento forse ho capito qual è il motivo. Quando tu lanci ad esempio:Originariamente inviato da SkyBlue
io avrei una mia teoria anche stupida potrete dirmi ma riguarda la differenza che vi è tra la scrittura nell'HTML e l'interpretrazione di JS, di fatti secondo me non funge in quanto gli inputs creati tramite JS non vengono realmente scritti nella pagina HTML ma interpretati, dunque ciò causa l'assenza della connessione di JS con quell'input anche dandogli l'id.... ma se è vera questo mia supposizione... come fare ?
Alcuni browser le eseguono in quest'ordine:codice:var tuoInput = document.createElement("input"); tuoInput.setAttribute("id", "input1"); funzione1(); funzione2(); document.body.appendChild(tuoInput); funzione3(); alert("ciao"); funzione4(); var mioOggetto = document.getElementById("input1"); funzione5();
var tuoInput = document.createElement("input");
tuoInput.setAttribute("id", "input1");
funzione1();
funzione2();
funzione3();
funzione4();
var mioOggetto = document.getElementById("input1");
funzione5();
alert("ciao");
document.body.appendChild(tuoInput);
Le modifiche al DOM avvengono sempre alla fine. Il browser "se le segna" e le lascia per ultime. Per scoprirlo basta vedere se ti è comparso l'input durante il lancio dell'alert del codice precedente.
sisi infatti alla tua risposta infatti l'ho corretto, lo stavo per scrivere...
Grazie a tutti per l'aiuto ragazzi scusate per i 2 post sono andato in panico ^^, non succederà più... grazie ancora..![]()