Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2018
    Messaggi
    211

    Dati di una selezione non riportati

    Nel seguente programma vorrei scrivere, con document.write, tutti i dati di una selezione con un ciclo for, ma viene scritto solo il primo dato. E se poi uso l'istruzione document.write prima della selezione, viene scritto il contenuto di questa istruzione e nessuno della selezione. Perché? Grazie

    lanvoel

    < html>
    < head>
    < script language="JavaScript">
    function lista_selezione()
    {
    var theDayElement= window.document.form1.theDay
    //document.write("Ci sono "+ theDayElement.length +" opzioni")
    var contatore
    for (contatore=0; contatore < theDayElement.length; contatore++) // non funziona
    {
    document.write("Il testo della opzione "+ contatore + " è " + theDayElement.options[contatore].text +"<br>")
    }
    }
    < /script>
    < /head>
    < body>
    < form name=form1>
    < select name=theDay size=5>
    < option value=0 selected> lunedì
    < option value=1> martedì
    < option value=2> mercoledì
    < option value=3> giovedì
    < option value=4> vennerdì
    < option value=5> sabato
    < option value=6> domenica
    < /select>
    < br><br>
    < input type="button" name="pulsante" value="scrivi il contenuto della selezione" onclick="lista_selezione()"><br><br>
    < /form>
    < /body>
    < /html>

  2. #2
    Utente di HTML.it L'avatar di vic53
    Registrato dal
    Oct 2010
    residenza
    Fonte Nuova (Roma)
    Messaggi
    588
    Riguarda la sintassi html per la "select"... I campi option hanno il terminatore </option> ?
    Poi per avere il contenuto dei campi di un form la tua scrittura è un po grossolana... mancanza di punti e virgola sulle istruzioni, uso di istruzioni con nomi senza virgolette...
    Per catturare il valore diu un campo di form la sitassi corretta sarebbe "nomecampo.value" ; Se usi la classica forma che usano tutti..
    codice:
    var valorecampo = document.getElementById("theDay").value;
    ti dà il valore del campo selezionato... mentre se vuoi i valori dell'array devi puntare al valore del campo indicizzato tramite la forma
    codice:
    valore=form1.theDay.options[indice].value;
    ciao
    Vic53

  3. #3
    @lanvoel
    Ti invito a leggere attentamente il regolamento della sezione javascript, in particolare la parte relativa all'utilizzo del tag [code]

    Grazie per la collaborazione.

  4. #4
    Utente di HTML.it L'avatar di vic53
    Registrato dal
    Oct 2010
    residenza
    Fonte Nuova (Roma)
    Messaggi
    588
    hai ragione... mi è sfuggito dato che la pagina è andata in timeout e l'ho riscritto...
    parlo del tag scappato dopo la parola ...il terminatore ...
    ciao
    Ultima modifica di vic53; 09-01-2018 a 19:56
    Vic53

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2018
    Messaggi
    211
    edit by mod....
    Ultima modifica di ciro78; 10-01-2018 a 21:21 Motivo: non riportiamo pezzi di libro protetti da diritto d'autore grazie

  6. #6
    Utente di HTML.it L'avatar di vic53
    Registrato dal
    Oct 2010
    residenza
    Fonte Nuova (Roma)
    Messaggi
    588
    un altra cosa... Javascript vuole i punti e virgola soprattutto se il blocco contiene più di una istruzione...
    i risultati senza i punti e virgola nelle istruzioni potrebbero essere "imprevedibili".
    Ultima modifica di vic53; 10-01-2018 a 16:07
    Vic53

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2018
    Messaggi
    211
    Grazie per le risposte. Ho messo tutti i punti e virgola richiesti, ma il problema è rimasto.
    Ho provato a mettere lo <script> con il ciclo for subito dopo la dichiarazione <select></select> della selezione posta tra <body> e </body>e vengono mostrate regolarmente tutte e 7 le opzioni della selezione. Ma se lo <script> con il ciclo for è richiamato con un pulsante con la funzione posta tra <head> e </head> viene mostrata solo la prima opzione della selezione con l'errore "autorizzazione negata".
    Riporto la versione funzionante parzialmente qui sotto

    lanvoel

    [code]
    <html>
    <head>
    <script language="JavaScript">
    function lista_selezione()
    {
    var theDayElement= window.document.form1.theDay;
    //document.write("Ci sono "+ theDayElement.length +" opzioni");
    var contatore;
    for (contatore=0; contatore < theDayElement.length; contatore++) // non funziona
    {
    document.write("Il testo della opzione "+ contatore + " è " + theDayElement.options[contatore].text +"<br>");
    }
    }
    </script>
    </head>
    <body>
    <form name=form1>
    <select name=theDay size=5>
    <option value=0 selected> lunedì
    <option value=1> martedì
    <option value=2> mercoledì
    <option value=3> giovedì
    <option value=4> venerdì
    <option value=5> sabato
    <option value=6> domenica
    </option>
    </select>
    <br><br>
    <input type="button" name="pulsante" value="scrivi il contenuto della selezione" onclick="lista_selezione()"><br><br>
    </form>
    <script language=JavaScript>
    var theDayElement= window.document.form1.theDay;
    document.write("Ci sono "+ theDayElement.length +" opzioni" +"<br>");
    var contatore;
    for (contatore=0; contatore < theDayElement.length; contatore++)
    {
    document.write("Il testo della opzione "+ contatore + " è " + theDayElement.options[contatore].text +"<br>");
    }
    </script>
    </body>
    </html>
    [code]

  8. #8
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,505
    lanvoel ....secondo avviso leggi il regolamento in particolare sezione tag code.
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  9. #9
    Utente di HTML.it L'avatar di vic53
    Registrato dal
    Oct 2010
    residenza
    Fonte Nuova (Roma)
    Messaggi
    588
    Quote Originariamente inviata da ciro78 Visualizza il messaggio
    lanvoel ....secondo avviso leggi il regolamento in particolare sezione tag code.
    edit by mod
    Ultima modifica di ciro78; 10-01-2018 a 22:54 Motivo: risposta inutile. evita

  10. #10
    Utente di HTML.it L'avatar di vic53
    Registrato dal
    Oct 2010
    residenza
    Fonte Nuova (Roma)
    Messaggi
    588
    codice:
    <html>
    <head>
    <script language="javascript" type="text/javascript">
    function lista_selezione(D){
    for (i=0; i<D.length; i++) 
    {
    document.write("Il testo della opzione "+ i + " è " + D[i].text +"<br>");
    }
    alert(D.value);
    
    }
    </script>
    </head>
    <body>
    <form name="form1">
    <select name="theDay" size=5>
    <option value=0> lunedì</option>
    <option value=1> martedì</option>
    <option value=2> mercoledì </option>
    <option value=3> giovedì</option>
    <option value=4> vennerdì</option>
    <option value=5> sabato</option>
    <option value=6> domenica</option>
    </select>
    <br><br>
    <input type="button" name="pulsante" value="scrivi il contenuto della selezione"
     onclick="lista_selezione(theDay)" >
    <br><br>
    </form>
    </body>
    </html>
    Ultima modifica di vic53; 10-01-2018 a 23:26 Motivo: riga spezzata da taglia incolla
    Vic53

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 © 2024 vBulletin Solutions, Inc. All rights reserved.