Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    60

    Validazione diverse select

    Saluti a tutti, ho un form di questo genere:

    codice:
    <form name="post" method=post>
    	<select name="stanze[1]">
    	   <option value="0">Opzione Zero</option>
    	   <option value="1">Opzione Uno</option>
    	   <option value="2">Opzione Due</option>
    	   
    	</select> 
    
    	<select name="stanze[2]">
    	   <option value="0">Opzione Zero</option>
    	   <option value="1">Opzione Uno</option>
    	   <option value="2">Opzione Due</option>
    	   
    	</select> 
    
    	<select name="stanze[3]">
    	   <option value="0">Opzione Zero</option>
    	   <option value="1">Opzione Uno</option>
    	   <option value="2">Opzione Due</option>
    	   
    	</select> 
    	
    	<input type="submit"  value="invia" onclick=verifica() />
    </form>
    il mio problema è che i select hanno tutti nomi diversi (e numeri variabili, non necessariamente 1,2,3....) che quindi non conosco a priori.

    Tramite questo codice cercavo di far validare i select (a me serve sapere che ALMENO un select sia selezionato con value diverso da zero):

    codice:
    <script language="javascript">
    function verifica(){
    
    var sl = document.post.elements['stanze[]'];
    
    alert (sl);
    var procedi=false;
    if (sl[0][0] == undefined){
    if(sl.selectedIndex>0) procedi=true;
    }
    else {
    
    if(sl.length){
      for(var k=0,l=sl.length;k<l;++k){
        if(sl[k].selectedIndex>0){procedi=true;break}
      }
    }
    }
    
    error="Scegli almeno una camera\n";
    if(procedi==false){
    alert(error)
    return false;
    }
    else
    {
    alert('tutto bene');
    }
    
    }
    </script>
    ma ovviamente non funziona (se i select invece si chiamano tutti stanze[] allora funziona).

    Per favore aiutatemi che mi sono incartato in questa cosa e non so come andare avanti, grazie mille in anticipo!

    Ps. se può essere di aiuto, posso utilizzare Jquery volendo...

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    prova cosi:
    cambia questa riga
    var sl = document.post.elements['stanze[]'];
    con questa
    var sl = document.getElementsByTagName("select");

    logica prima cerchi quante select ci sono nel documento poi quante hanno option 0, forse devi aggiungere un altro ciclo for x le option fai qualche prova

    P.S. consiglio non sono sicuro che post sia una parola riservata, ma per non rischiare cambia nome del form.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    60
    Originariamente inviato da cavicchiandrea
    prova cosi:
    cambia questa riga
    var sl = document.post.elements['stanze[]'];
    con questa
    var sl = document.getElementsByTagName("select");

    logica prima cerchi quante select ci sono nel documento poi quante hanno option 0, forse devi aggiungere un altro ciclo for x le option fai qualche prova

    P.S. consiglio non sono sicuro che post sia una parola riservata, ma per non rischiare cambia nome del form.
    funziona perfettamente con la tua riga di codice;

    grazie mille per l'aiuto!!!

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.