Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    327

    Passare il valore di un campo html tramite costruttore.

    Salve ragazzi!
    Come da oggetto, non riesco a passare il valore contenuto all'interno di un input al costruttore di una classe esistente.
    Se anzichè passare il parametro tramite input lo passo "a mano", il programma funziona, in altre parole se anzichè scrivere
    codice:
    var user=new cliente(document.getElementById("dapassare").value);
    scrivo
    codice:
    var user=new cliente("Mario Rossi");
    funziona!


    Ecco il codice per intero:
    codice:
    <DOCTYPE! html>
    <html>
    <body>
    
    <script type="text/javascript">
    
    function cliente(nome) {
    	this.nome=nome;
    	}
    	
    var user=new cliente(document.getElementById("dapassare").value);
    
    </script>
    
    <input id="dapassare" type="text" size="50" /> 
    
    <button type="button" onclick="document.write(user.nome)"> Dati Cliente </button>
    
    </body>
    </html>
    Grazie in anticipo a chiunque voglia aiutarmi.

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    1) non puoi usare document.write all'onclick sul button
    2) non puoi avere una referenza ad un elemento prima di averlo definito: getElementById(...) sarà undefined a meno che tu non esegua lo script dopo aver definito il markup (o almeno al domredy) e anche così facendo
    3) il valore dell'input è vuoto, per cui la variabile user dev'essere valorizzata dopo aver riempito il campo di input.
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    327
    Originariamente inviato da fcaldera
    2) non puoi avere una referenza ad un elemento prima di averlo definito: getElementById(...) sarà undefined
    Non ho capito, l'ordine del flusso qual'è?
    Pensavo che lo script si avviasse nel momento in cui avviene
    codice:
    user.nome
    non è così?
    Potresti gentilmente farmi vedere o anche darmi un consiglio per riuscire a fare quello che volevo fare?

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.