Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    20

    controllo opzioni inserite con <input type="radio"..>

    ciao, il mio problema è il seguente:

    ho una form con una lista di opzioni selezionabili in mutua esclusione di cui ecco il codice:

    -------------

    Script type="text/javascript">
    <!--

    function verifica() {
    if (document.prenota.camere.value == "1"
    document.prenota.camere.value == "2") d o cument.prenota.camere.value == "3")
    document.prenota.camere.value == "4")
    document.prenota.camere.value == "5")
    docum<FORM name="prenota" ACTION="../cgi-bin/prenotazione.cgi" METHOD="get" onsubmit="return verifica()">

    <H4 align="center">Prenotazione camere</H4>


    Camere matrimoniali:

    vedi camere matrimoniali &raquo


    Numero 1<INPUT TYPE="radio" NAME="camere" VALUE="1">

    Numero 2<INPUT TYPE="radio" NAME="camere" VALUE="2">

    Numero 3<INPUT TYPE="radio" NAME="camere" VALUE="3">

    Numero 4<INPUT TYPE="radio" NAME="camere" VALUE="4">


    Camere singole:

    vedi camere singole &raquo

    Numero 5<INPUT TYPE="radio" NAME="camere" VALUE="5">

    Numero 6<INPUT TYPE="radio" NAME="camere" VALUE="6">

    Numero 7<INPUT TYPE="radio" NAME="camere" VALUE="7">

    Numero 8<INPUT TYPE="radio" NAME="camere" VALUE="8">

    <H4 align="center">Prenotazione servizi</H4>

    Ristorante: <Select name="risto" size="1">
    <option value="null">seleziona</option>
    <option value="mezpens">mezza pensione</option>
    <option value="penscompl">pensione completa</option></select>



    Skypass<INPUT Type="checkbox" Name="servizi" Value="skypass">


    Palestra<INPUT type="checkbox" name="servizi" value="palestra">


    Sauna<INPUT type="checkbox" name="servizi" value="sauna">


    Massaggi<INPUT type="checkbox" name="servizi" value="massag">


    <P align="center"><INPUT TYPE="submit" VALUE="Invia">
    <INPUT TYPE="reset" VALUE="Azzera"></P>
    </FORM>

    ---------------


    Se si vuole effettuare una prenotazione, deve essere selezionata anche una delle camere (dalla 1 alla 8)...

    Quello che voglio fare, è un controllo in JS che mi verifichi che almeno una delle 8 camere sia selezionata per poter effettuare la prenotazione, e questo è il codice che ho fatto in JS:

    ---------------

    <Script type="text/javascript">
    <!--

    function verifica() {
    if (document.prenota.camere.value != "1"
    && document.prenota.camere.value != "2"
    && document.prenota.camere.value != "3"
    && document.prenota.camere.value != "4"
    && document.prenota.camere.value != "5"
    && document.prenota.camere.value != "6"
    && document.prenota.camere.value != "7"
    && document.prenota.camere.value != "8"
    ) {
    return (false);
    alert ("Non hai ancora scelto la camera che vuoi prenotare.");
    }
    else {return (true);}
    }
    -->
    </script>

    --------------

    Solo che qundo clicco sul pusante per inviare i dati, la funzione restituisce sempre il messaggio di alert, sia che la camera è selezionata o meno... voi vedete degli errori per caso??

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    i radio, come i tutti gli elementi che condividono stesso nome, sono una collezione (array)
    e bisogna ciclare per la lunghezza di questo array alla ricerca di uno di essi segnato
    codice:
    function verifica() {
      var cks=document.prenota.camere;
      var segnato=false;
      // e' un array
      if(cks.length){
        for(var k=0,l=cks.length;k<l;k++){
          if(cks[k].checked){segnato=true;break;}
        }
      }
      // non e' un array
      else {
        if(cks.checked){segnato=true;}
      }
    
      if(!segnato){
        alert ("Non hai ancora scelto la camera che vuoi prenotare.");
        return false;
      }
      else return true;
    }
    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    20
    mi funziona benissimo.. grazie mille!!

    purtroppo nella brevità del corso di linguaggi e programmazione web abbiamo trattato il javascript in una sola lezione di 3 ore

    grazie ancora!! ^^

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.