Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    7

    Controllo su campi form


    Salve a tutti, avrei necessità di una mano per risolvere un problema con un form di prenotazione che sto costruendo. In pratica il modulo di prenotazione che ho previsto per il sito è progettato cosi..nella prima parte ho un numero definito di campi obbligatori: nome, cognome, e-mail, stato, provincia. Compilati questi campi e lasciando vuoti i campi..persone, data arrivo, data partenza, matrimoniale,singolo,ora d'arrivo, notti; l'utente può inviare il modulo. Questo è il funzionamento della parte "richiesta informazioni"..se un utente volesse prenotare deve rispondere allo domanda vuoi prenotare si o no attivando il radio button. Se risponde si voglio rendere obbligatori anche i campi persone, data arrivo, data partenza, matrimoniale,singolo,ora d'arrivo, notti. Come posso fare??

    Ho provato con questa soluzione:
    Questo script in testata documento...

    <script language="Javascript">
    <!--
    function checkSfondo() {
    var vaBene=true;
    for (var intLoop = 0; intLoop<document.forms[0].elements.length; intLoop++)
    if (("obbligatorio"==document.forms[0].elements[intLoop].className) &&
    (document.forms[0].elements[intLoop].style.display=='') &&
    (document.forms[0].elements[intLoop].value=='')) {
    vaBene=false;
    }
    if(vaBene){
    if(!document.forms[0].chbConsenso.checked){
    alert("E' necessario il consenso al trattamento dei dati. Grazie.");
    return false;
    }
    }
    if (vaBene)
    document.forms[0].submit();
    else
    alert("Tutti i campi in giallo devono essere compilati!");
    return true;
    }
    // -->
    </script>
    --------------------------------------------
    uso un class sui campi obbligatori fissi..
    <INPUT tabIndex=1 size=21 name=cognome class="obbligatorio">
    -----------------------------------------------
    in questo punto l'utente scegliendo si deve rendere obbligatori più di un campo mentre questo script rende obbligatorio solo il campo persone...
    <input type="Radio" name="si" value="si" tabindex=30
    onclick="document.forms[0].elements.persone.className='obbligatorio';">
    SI
    <input type="Radio" name="no" value="no" checked tabindex=31
    onclick="document.forms[0].elements.persone.className='';">
    NO
    -------------------------------------------------------
    Come posso fare?? o esiste un modo più semplice...
    Ringrazio per la collaborazione, per chiarimenri sul mio quesito rimango a disposizione..



    Sergio

  2. #2
    Beh è semplice se ci pensi, controlli il valore del bottone che l'utente deve selezionare e se è premuto fai gli altri controlli normalmente. Però ti faccio notare che non si dovrebbe mai validare un form lato client. Le validazioni dei forms servono per controllare che funzioni e che qualche utente non inserisca dati in modo da far crashare il programma. Un utente che volesse fare una cosa simile dovrebbe semplicemente disabilitare i javascript nel suo browser ed ecco che potrebbe inserire ciò che vuole.
    Tutti i controlli vanno SEMPRE fatti lato server!
    I dilettanti costruirono l'Arca, i professionisti il Titanic!

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    7

    Controlli lato server?

    Ti ringrazio per la risposta, non molto chiara per uno alle prime armi! Se è possibile mi servirebbe una mano..

    Ho questo form da controllare:

    <form name="form1" action=http://www.consultingweb.it/cgi-bin/FormMail.pl method="post" onsubmit="return checkform();">
    <TABLE width="100%" border=0 cellPadding=1 cellSpacing=1 bgcolor="#063D5A">
    <TR bgcolor="#DCF0F9">

    <TD width="50%" bgcolor="#E7F2F5">Nome
    <INPUT tabIndex=1 size=21 name=nome class="obbligatorio">
    </TD>

    <TD width="50%" bgcolor="#E7F2F5">Cognome

    <INPUT tabIndex=1 size=21 name=cognome class="obbligatorio">
    </TD>
    </TR>

    <TR bgcolor="#E7F2F5">
    <TD>Email
    <INPUT tabIndex=2 size=21 name=email class="obbligatorio">
    </TD>

    <TD></TD>
    </TR>

    <TR bgcolor="#E7F2F5">
    <TD>Indirizzo
    <INPUT id=indirizzo tabIndex=2 size=21 name=indirizzo>
    </TD>

    <TD></TD>
    </TR>

    <TR bgcolor="#E7F2F5">
    <TD>Città
    <INPUT id=citta tabIndex=2 size=21 name=citta>
    </TD>

    <TD>Stato
    <INPUT id=stato tabIndex=2 size=21 name=stato class="obbligatorio">
    </TD>
    </TR>

    <TR bgcolor="#E7F2F5">
    <TD>CAP
    <INPUT id=cap tabIndex=2 size=21 name=cap>
    </TD>

    <TD>Provincia
    <INPUT tabIndex=3 size=21 name=provincia class="obbligatorio">
    </TD>
    </TR>

    <TR bgcolor="#E7F2F5">
    <TD>Telefono
    <INPUT id=telefono tabIndex=4
    name=telefono> </TD>

    <TD>Fax:
    <INPUT id=fax tabIndex=4 name=fax> </TD>
    </TR>

    <TR align="center" bgcolor="#E7F2F5">
    <TD colSpan=2>Richieste particolari

    <TEXTAREA id=messaggio tabIndex=17 name=messaggio rows=5 wrap=virtual cols=50></TEXTAREA>
    </TD>
    </TR>
    </TABLE>

    <table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td width="20%"></td>
    <td width="80%"></td>
    </tr>
    <tr>
    <td>Vuoi prenotare?</td>
    <td><input type="Radio" name="si" value="si" tabindex=30>
    SI
    <input type="Radio" name="no" value="no" checked>
    NO</td>
    </tr>
    </table>



    <TABLE width="100%" border=0 cellPadding=1 cellSpacing=1 bgcolor="#063D5A">
    <TR bgcolor="#E7F2F5">
    <TD width="50%"><FONT color=#333333>Persone</FONT><FONT
    color=#CC3300>*</FONT>
    <INPUT id=persone tabIndex=5 size=4
    name=persone> </TD>

    <TD width="50%"></TD>
    </TR>

    <TR bgcolor="#E7F2F5">
    <TD><FONT color=#333333>Data d'arrivo</FONT><FONT
    color=#CC3300>*</FONT>
    <SELECT tabIndex=7 size=1
    name=giornoArrivo>
    <option value="Giorno">Giorno</option>
    <option value="1">1 </option>
    <option value="2">2 </option>
    <option value="3">3 </option>
    <option value="4">4 </option>
    <option value="5">5 </option>
    <option value="18">18 </option>
    <option value="19">19 </option>
    <option value="20">20 </option>
    <option value="21">21 </option>
    <option value="22">22 </option>
    <option value="23">23 </option>
    <option value="24">24 </option>
    <option value="25">25 </option>
    <option value="26">26 </option>
    <option value="27">27 </option>
    <option value="28">28 </option>
    <option value="29">29 </option>
    <option value="30">30 </option>
    <option value="31">31 </option>
    </SELECT> <SELECT tabIndex=8 size=1
    name=mesearrivo>
    <option value="Mese">Mese</option>
    <option value="Gennaio">Gennaio</option>
    <option value="Febbraio">Febbraio</option>
    <option value="Marzo">Marzo</option>
    <option value="Aprile">Aprile</option>
    <option value="Maggio">Maggio</option>
    <option value="Giugno">Giugno</option>
    <option value="Luglio">Luglio</option>
    <option value="Agosto">Agosto</option>
    <option value="Settembre">Settembre</option>
    <option value="Ottobre">Ottobre</option>
    <option value="Novembre">Novembre</option>
    <option value="Dicembre">Dicembre</option>
    </SELECT> <SELECT
    tabIndex=9 size=1 name=annoarrivo>
    <OPTION value=2004
    selected>2004</OPTION>
    <OPTION value=2005>2005</OPTION>
    <OPTION
    value=2006>2006</OPTION>
    </SELECT>
    </TD>

    <TD><FONT color=#333333>Data di partenza</FONT><FONT color=#CC3300>*</FONT>

    <SELECT tabIndex=10 size=1
    name=giornopartenza>
    <option value="Giorno">Giorno</option>
    <option value="1">1 </option>
    <option value="2">2 </option>
    <option value="3">3 </option>
    <option value="4">4 </option>
    <option value="5">5 </option>
    <option value="6">6 </option>
    <option value="7">7 </option>
    <option value="8">8 </option>
    <option value="9">9 </option>
    <option value="10">10 </option>
    <option value="11">11 </option>
    <option value="12">12 </option>
    <option value="13">13 </option>
    <option value="14">14 </option>
    <option value="15">15 </option>
    <option value="16">16 </option>
    <option value="17">17 </option>
    <option value="18">18 </option>
    <option value="19">19 </option>
    <option value="20">20 </option>
    <option value="21">21 </option>
    <option value="22">22 </option>
    <option value="23">23 </option>
    <option value="24">24 </option>
    <option value="25">25 </option>
    <option value="26">26 </option>
    <option value="27">27 </option>
    <option value="28">28 </option>
    <option value="29">29 </option>
    <option value="30">30 </option>
    <option value="31">31 </option>
    </SELECT> <SELECT tabIndex=8 size=1
    name=mesepartenza>
    <option value="Mese">Mese</option>
    <option value="Gennaio">Gennaio</option>
    <option value="Febbraio">Febbraio</option>
    <option value="Marzo">Marzo</option>
    <option value="Aprile">Aprile</option>
    <option value="Maggio">Maggio</option>
    <option value="Giugno">Giugno</option>
    <option value="Luglio">Luglio</option>
    <option value="Agosto">Agosto</option>
    <option value="Settembre">Settembre</option>
    <option value="Ottobre">Ottobre</option>
    <option value="Novembre">Novembre</option>
    <option value="Dicembre">Dicembre</option>
    </SELECT> <SELECT
    tabIndex=12 size=1 name=annopartenza>
    <OPTION value=2004
    selected>2004</OPTION>
    <OPTION value=2005>2005</OPTION>
    <OPTION
    value=2006>2006</OPTION>
    </SELECT> </TD>
    </TR>

    <TR bgcolor="#E7F2F5">
    <TD><FONT color=#333333>Matrimoniale</FONT><FONT
    color=#CC3300>*</FONT>
    <INPUT tabIndex=13 size=4
    name=matrimoniale></TD>

    <TD><FONT color=#333333>Singolo</FONT><FONT
    color=#CC3300>*</FONT>
    <INPUT tabIndex=14 size=4
    name=singola></TD>
    </TR>

    <TR bgcolor="#E7F2F5">
    <TD><FONT color=#333333>Ora d'arrivo

    <SELECT name=dataarrivo size=1 id="dataarrivo"
    tabIndex=15>
    <option value="Ora d'arrivo">Ora d'arrivo</option>
    </option>
    <option value="01.h p.m.">01.h p.m. </option>
    <option value="02.h p.m.">02.h p.m. </option>
    <option value="03.h p.m.">03.h p.m. </option>
    <option value="04.h p.m.">04.h p.m. </option>
    <option value="05.h p.m.">05.h p.m. </option>
    <option value="06.h p.m.">06.h p.m. </option>
    </SELECT>
    </FONT></TD>

    <TD><FONT color=#333333>N° notti</FONT><FONT
    color=#CC3300>*

    </FONT> <INPUT tabIndex=16 size=4
    name=notti></TD>
    </TR>

    <TR class=testo1 bgColor=#E7F2F5>
    <TD colSpan=2 align=middle>
    <input type="submit" name="Submit" value="Invia">
    <INPUT type=reset value=Cancella name=Submit2> </TD>
    </TR>
    </TABLE>
    </form>

    Come posso controllarlo lato server??
    Tieni conto che inizialmente i campi obbligatori sono nome, cognome, e-mail..e al click sul si di prenota tutti gli altri diventano obbligatori..Ti tingrazio davvero tanto..

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.