Visualizzazione dei risultati da 1 a 7 su 7

Discussione: richiamare volue

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    10

    richiamare volue

    ciao ragazzi, inizio dicendovi che non ne capisco molto ma ci prova

    detto questo, io ho creato questo codice

    codice:
    <html>
    <head>
    <script type="text/javascript">
    function F1(a)
    {
    if (a == 14)
    alert('pippo');
    if (a == 13) 
    alert('pluto');
    }
    </script>
    </head>
    <body>
    <span style=''><b>Seleziona</b></span>&nbsp;
    <SELECT onChange="F1(this.value)">
    <OPTION VALUE="14"> pippo</OPTION>
    <OPTION VALUE="13"> pluto</OPTION>
    </SELECT>
    </body>
    </html>
    solo che così facendo "ovviamente" mi stampa il risultato in un alert, cosa che a me non va bene.
    io ho bisogno che i dati vengano stamapi in una tabella all'interno della stessa pagina, ma non so come fare, mi potete dare una mano?
    grazie mille a tutti

  2. #2
    Per scrivere all'interno di un elemento devi usare il metoto innerHTML che è in dotazione a quasi tutti gli elementi html.
    Per richiamarlo ti serve avere un riferimento all'elemento e lo ottieni con document.getElementById("id").

    Ti faccio un esempio:

    codice HTML:
    <table>
    <tr>
    <td id='cella1'><td>
    <td id='cella2'><td>
    </tr>
    <tr>
    <td id='cella3'><td>
    <td id='cella4'><td>
    </tr>
    </table>
    codice:
    var elmCella1 = document.getElementById("cella1");
    elmCella1.innerHTML="Contenuto della cella 1";
    var elmCella2 = document.getElementById("cella2");
    elmCella2.innerHTML="Contenuto della cella 2";
    e così via.

    Ti do un consiglio però, non conoscere l'utilizzo di questo metodo indica che tu devi leggere qualche tutorial in più dato che innerHTML è fondamentale per l'interazione tra gli script e la pagina.

    Segui la guida sul sito vedrai ti si aprirà un mondo!
    I dilettanti costruirono l'Arca, i professionisti il Titanic!

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    10
    codice:
    <html><head>
    <script type="text/javascript">
    function F1(a)
    {
    var elmCella1 = document.getElementById("cella1");
    elmCella1.innerHTML="pippo non è felice";
    var elmCella2 = document.getElementById("cella2");
    elmCella2.innerHTML="pluto si";
    var elmCella3 = document.getElementById("cella3");
    elmCella1.innerHTML="pippo non è felice";
    var elmCella4 = document.getElementById("cella4");
    elmCella2.innerHTML="pluto ";
    }
    </script>
    </head>
    <body>
    <span style=''><b>Seleziona</b></span>&nbsp;
    <SELECT onChange="F1(this.value)">
    <OPTION VALUE="1"> pippo</OPTION>
    <OPTION VALUE="2"> pluto</OPTION>
    </SELECT>
    
    
    <table border="1">
    <tr>
    <td id='cella1'><td>
    <td id='cella2'><td>
    </tr>
    <tr>
    <td id='cella3'><td>
    <td id='cella4'><td>
    </tr>
    </table>
    
    
    </body>
    </html>
    io ho fatto così , e cio che mi restituisce e sbagliato, mi da tutto insieme. dove o sbagliato???
    prometto che domani mi leggo il tutorial

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    occhio al nome delle variabili, e comunque in questo caso non servono neanche puoi fare così.
    document.getElementById("cella1").innerHTML="pippo non è felice";
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    10
    ho leto il tutorial sul innerHTML ma continuo a non capire dove sbaglio

    codice:
    <html><head>
    <script type="text/javascript">
    function F1(a)
    {
    var elmCella1 = document.getElementById("cella1").innerHTML="pippo non è felice";
    var elmCella2 = document.getElementById("cella2").innerHTML="pluto si";
    var elmCella3 = document.getElementById("cella3").innerHTML="papperino si";
    var elmCella4 = document.getElementById("cella4").innerHTML="e anche topolino";
    }
    </script>
    </head>
    <body>
    <span style=''><b>Seleziona</b></span>&nbsp;
    <SELECT onChange="F1(this.value)">
    <OPTION VALUE="cella1"> pippo</OPTION>
    <OPTION VALUE="cella2"> pluto</OPTION>
    <OPTION VALUE="cella3"> papperino</OPTION>
    <OPTION VALUE="cella4"> topolino</OPTION>
    </SELECT>
    
    
    <table border="1">
    <tr>
    <td id='cella1'><td>
    <td id='cella2'><td>
    </tr>
    <tr>
    <td id='cella3'><td>
    <td id='cella4'><td>
    </tr>
    </table>
    
    
    </body>
    </html>
    questo codice mi restituisce sempre , qualsiasi voce io selezioni, tutte le celle insieme. perche?

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non ti capisco (probabilmente perché non conosci neanche le basi di javascript, e senza lo studio non capirai mai i problemi)
    A) Quel codice valorizza delle variabili che non stampi/scrivi nel documento pertanto nel documento non cambierà nulla
    B) E' corretto qualsiasi selezione tu faccia dal menù eseguirà tutta la funzione inserendo nelle celle (togliendo var) i testi scelti, se non è quello che vuoi devi aggiungere delle condizioni (if) ad ogni selezione stamperà solo quel determinato testo
    Detto questo ti auguro buon studio.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Utente bannato
    Registrato dal
    Apr 2009
    Messaggi
    530
    Quote Originariamente inviata da linusm Visualizza il messaggio
    questo codice mi restituisce sempre , qualsiasi voce io selezioni, tutte le celle insieme. perche?
    È perché gli if-statement 's eliminasti ...
    codice:
    function F1(a)
    {
    if (a == "cella1")
    document.getElementById("cella1").innerHTML="pippo non è felice";
    
    if (a == "cella2") 
    document.getElementById("cella2").innerHTML="pluto si";
    
    //e così via (questo è un commento, non viene processata la riga preceduta da // )
    }
    Ho adattato i VALUE di restituzione che vedo hai mutato - e - non sono più numerali ma "stringhe", quindi: racchiudere tra apici singoli ' o doppi "

    Adottando l' if(){} else ... eviterebbe di far processare inutilmente righe successive a quella di esecuzione.

    P.S.: e poi bisogna fare uno "svuotamento" preventivo con innerHTML="" perché ad ogni successiva azione sulla SELECT, i contenuti già assegnati rimangono.
    Ultima modifica di Enzaccio; 17-03-2014 a 11:15

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.