Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Creazione input con il DOM

    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 ?!?

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    vediamo un po' di codice,
    comunque se il problema fossero i name su IE leggi qui
    http://www.thunderguy.com/semicolon/...rnet-explorer/

  3. #3
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Immagino che ti sia dimenticato di assegnargli l'id...
    codice:
    var tuoInput = document.createElement("input");
    tuoInput.setAttribute("id", "input1");

  4. #4

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    ma lo hai appeso in pagina se no è ovvio che non lo trova.

  6. #6
    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 ?

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    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>

  8. #8
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    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 ?
    La supposizione è sbagliata. Se hai correttamente appeso l'elemento forse ho capito qual è il motivo. Quando tu lanci ad esempio:

    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();
    Alcuni browser le eseguono in quest'ordine:

    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.

  9. #9
    sisi infatti alla tua risposta infatti l'ho corretto, lo stavo per scrivere...

  10. #10
    Grazie a tutti per l'aiuto ragazzi scusate per i 2 post sono andato in panico ^^, non succederà più... grazie ancora..

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.