Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Javascript - Problema con tag select
Forum - Javascript - Problema con tag select

Avatar
mark22 (Normal User)
Newbie


Messaggi: 11
Iscritto: 29/10/2017

Segnala al moderatore
Postato alle 21:19
Martedì, 31/10/2017
Buonasera,
vorrei chiedervi come mai il mio codice non funziona per potermi ricavare i valori delle opzioni di un select html tramite javascript.
Questo è il mio codice html:
Codice sorgente - presumibilmente Plain Text

  1. <form name="myForm">
  2.               <select multiple="multiple" class="lista" name="archivio">
  3.                     <option value="1">Caffè</option>
  4.                    ...
  5. </form>


Javascript ,dimOpz sta per dimensione dell'array opzioni che verrà aggiornata a ogni "lettura", j è usato come indice per opzioniSelezionate:
Codice sorgente - presumibilmente Delphi

  1. var dimOpz=0;
  2.       function aggiungi(){
  3.         var opzioni =[];
  4.         opzioni= document.forms.myForm.archivio.options;
  5.         var opzioniSelezionate = [];
  6.         var lenght=opzioni.length;
  7.         var j=0;
  8.         for(var i=0;i<lenght;i++)
  9.             if(opzioni[i].selected){
  10.                 opzioniSelezionate[j].concat(opzioni[i].value);
  11.                 j++;
  12.               }    
  13.         dimOpz+=j;
  14.       }


La console del browser mi dice che c'è un errore nella riga 10..
Probabilmente è qualche errore stupido..:-|:-|Grazie in anticipo

Ultima modifica effettuata da mark22 il 31/10/2017 alle 21:22
PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 22:27
Martedì, 31/10/2017
Ciao,

potresti allegare un archivio con il codice completo ed eseguibile, oppure pubblicarlo da qualche parte sul web?


Il mio blog: https://piero.dev
PM Quote
Avatar
mark22 (Normal User)
Newbie


Messaggi: 11
Iscritto: 29/10/2017

Segnala al moderatore
Postato alle 17:09
Mercoledì, 01/11/2017
Ecco il file: https://ufile.io/ndx4q

Ultima modifica effettuata da mark22 il 01/11/2017 alle 17:12
PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 15:58
Giovedì, 02/11/2017
L'errore e' a causa del modo in cui stai popolando l'array opzioniSelezionate. L'array ha dimensioni 0, ma usando j stai cercando di inserire gli elementi in una posizione dell'array che ancora non esiste.

Prova con:

Codice sorgente - presumibilmente Delphi

  1. var costoTot=0;var dimOpz=0;
  2.       function aggiungi(){
  3.         var opzioni =[];
  4.         opzioni= document.forms.myForm.archivio.options;
  5.         var opzioniSelezionate = [];
  6.         var lenght=opzioni.length;
  7.  
  8.         for(var i=0;i<lenght;i++)
  9.             if(opzioni[i].selected){
  10.               opzioniSelezionate.push(opzioni[i].value);
  11.             }
  12.         dimOpz+=opzioniSelezionate.length;
  13.  
  14.         console.log(dimOpz, opzioniSelezionate); //  (3) ["5.50", "12", "12"]
  15.       }



Il mio blog: https://piero.dev
PM Quote
Avatar
mark22 (Normal User)
Newbie


Messaggi: 11
Iscritto: 29/10/2017

Segnala al moderatore
Postato alle 17:36
Venerdì, 03/11/2017
Ah ecco.. grazie mille! :) :)

PM Quote