Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    892

    javascript: oggetto e funzione

    Scusate,

    ho un oggetto a cui ho assegnato una funzione. Ecco il codice:

    codice:
    <html>
    <head>
    <script>
    function Persone(nome,cognome,soprannome) {
    this.nomenuovo=nome;
    this.cognomenuovo=cognome;
    this.nomecompleto=this.nomenuovo + " " + this.cognomenuovo;
    this.nomignolo=soprannome;
    this.stampa = function () {
    return this.nomenuovo + ' ' + this.cognomenuovo + ', detto' + this.nomignolo;
    }
    }
    
    
    </script>
    </head>
    <body>
    <script>
    var s1=new Persone("paolo","rossi","pablito");
    
    </script>
    <input type="text" name="miotesto">
    <input type="button" name="vai" onClick=miotesto.value=s1.stampa;>
    
    
    </body>
    </html>
    ma alla pressione del pulsante, al posto di prendere il valore "paolo rossi detto pablito", il campo text mi prende: function () {return this.nomenuovo + ' ' + this.cognomenuovo + ', detto' + this.nomignolo;}

    come se la funzione non fosse una funzione...

    Dove sbaglio?

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Non capisco a che ti serve definire quella function... :master:

    this.stampa = this.nomenuovo +' '+ this.cognomenuovo +', detto '+ this.nomignolo;

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    892
    so che è inutile, era per esercitarmi ed imparare ad usare dei metodi dentro gli oggetti...

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    s1.stampa()

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    892
    Un altro quesito, se non è troppo...

    Ho tentato di far funzionare questo codice, ma mi dà errore: proprietà o metodo non supportati dall'oggetto. Dove sbaglio?

    codice:
    <html>
    <head>
    <script>
    function Persone(nome,cognome,soprannome) {
    this.nomenuovo=nome;
    this.cognomenuovo=cognome;
    this.nomignolo=soprannome;
    }
    function Rubrica() {
    this.voci = new Array();
    // Metodo per l'aggiunta di una nuova voce
    this.aggiungi = function (nome,cognome,soprannome) {
    this.voci[this.voci.length] = new Persone(nome,cognome,soprannome);
    }
    for(i=0;i<this.voci.length;i++){
    document.write(this.voci[i]);
    }
    }
    </script>
    </head>
    <body>
    <input type="text" name="miotestonome">
    <input type="text" name="miotestocognome">
    <input type="text" name="miotestosoprannome">
    <input type="button" name="vai" onClick="Rubrica.aggiungi(miotestonome.value,miotestocognome.value,miotestosoprannome.value)">
    <input type="button" name="vairubri" onClick=rubrica();>
    </body>
    </html>

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    892
    up

  7. #7
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    forse volevi ottenere questo risultato?
    codice:
    <html>
    <head>
    <script>
    function Persone(nome,cognome,soprannome) {
      this.nomenuovo=nome;
      this.cognomenuovo=cognome;
      this.nomignolo=soprannome;
    }
    function Rubrica() {
      this.voci = new Array();
      // Metodo per l'aggiunta di una nuova voce
      this.aggiungi = function (nome,cognome,soprannome) {
        this.voci[this.voci.length] = new Persone(nome,cognome,soprannome);
      }
      this.scrivi = function (){
        for(i=0;i<this.voci.length;i++){
          document.write(this.voci[i].nomenuovo+' - '+this.voci[i].cognomenuovo+' - '+this.voci[i].nomignolo+'
    ');
        }
      }
    }
    
    var obj = new Rubrica()
    </script>
    </head>
    <body>
    <input type="text" name="miotestonome">
    <input type="text" name="miotestocognome">
    <input type="text" name="miotestosoprannome">
    <input type="button" name="vai" onClick="obj.aggiungi(miotestonome.value,miotestocognome.value,miotestosoprannome.value)">
    <input type="button" name="vairubri" onClick=obj.scrivi();>
    </body>
    </html>
    ricordati che JavaScript è case sensitive (fa differenza tra minuscolo e maiuscolo)
    e che quando fai un document.write dopo che la pagina è stata caricata elimini tutto quello che c'era prima del document.write

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.