Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    controllo js su tutti i tag select

    Buongiorno.

    In un sito è presente una sezione "souvenir" nella quale è possibile acquistare degli articoli.
    Questi articoli hanno caratteristiche differenti e quindi, nell'acquistarli, quello che si dovrà specificare varierà da articolo ad articolo.
    Per alcuni, ad esempio, si dovrà indicare solo la quantità.
    Per altri, invece, anche il colore, la taglia, e via dicendo.
    Dal momento che l'amministratore potrà inserire nuovi articoli in futuro, non ci è dato sapere cosa potrebbe esserci un domani e con quali campi.
    In ogni caso, tutte queste selezioni verranno fatte tramite l'uso di select.


    In questo modo è impossibile fare un "tradizionale" controllo js non sapendo quanti e quali select ci saranno per ogni articolo.
    Mi è giunta voce che esista un modo per verificare, tramite js, che tutti i tag select abbiano un valore differente da zero, indipendentemente da quanti siano.
    Vi risulta sia vero?
    E se così fosse, qual'è lo script da utilizzare?

    Grazie e buona giornata.
    <-- Fare. O non fare. Non c'è provare. -->

    www.yodastudio.com
    segui YODA Studio su facebook

  2. #2
    beh, per fare questo devi ottenere tutti i select e controllare uno per uno che il value dell'option selezionata sia diversa da 0.

    Per far questo devi fare così:

    Codice PHP:
    function controllaSelect(){
       
    //In allSelect ottengo tutti i select della pagina in un array 
       
    var allSelect document.getElementsByTagName("select");
       
    //Ciclo su ogni elemento dell'array
       
    for(0allSelect.lengthi++)
       {
          var 
    sel allSelect[i]; //sel = il select della iterazione corrente
          
    if(sel.options[sel.selectedIndex].value == '0'
             return 
    false;
       }
       return 
    true;

    chiamando controllaSelect ritorna true, se tutte le select hanno un value diverso da 0, false altrimenti.

    N.B.
    i value delle option sono stringhe, ergo devi indicare esattamente la stringa per la option che rapprensenta lo 0. Lo script controlla i VALUE delle select, quindi a te basta indicare il VALUE che sarà rappresentato dall'option 0. Ad Esempio:

    <select name="colore">
    <option value="0">---</option>
    <option value="red">Rosso</option>
    </select>

    <select name="quantita">
    <option value="0">0</option>
    <option value="1">1</option>
    <option value="5">5</option>
    </select>

    In questo modo lo script controllerà sempre che siano tutti selezionati (diversi da 0).

  3. #3
    Grazie mille.
    <-- Fare. O non fare. Non c'è provare. -->

    www.yodastudio.com
    segui YODA Studio su facebook

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.