Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    15

    If... else validazione form

    Salve a tutti,
    ho un form con varie voci che voglio rendere obbligatorie,
    a questo scopo sto usando uno script js...

    se la voce da validare fosse una sola non ci sarebbe problema:
    codice:
    <script type="text/javascript" language="javascript">
    function verifForm(formulaire)   
    {  
     if(formulaire.nom.value == "")     
     alert('Compila tutti i campi.');   
     else     formulaire.submit(); 
    } </script > 
    <form> 
    <input type="text" name="nom" size=20 /> 
    <input type="button" value="Send" onclick="verifForm(this.form)" /> 
    </form>
    ma se i campi sono più di uno ho difficoltà perchè ho provato:
    codice:
    function verifForm(formulaire)
      {
      if(formulaire.title.value == "") 
        alert('Campo title obbligatorio'); 
      else
        formulaire.submit();
    }
    {
      if(formulaire.URL.value == "") 
        alert('Campo URL obbligatorio'); 
      else
        formulaire.submit();
    }
    {
      if(formulaire.description.value == "") 
        alert('Campo description obbligatorio'); 
      else
        formulaire.submit();
    }
    {
      if(formulaire.email.value == "") 
        alert('Campo email obbligatorio'); 
      else
        formulaire.submit();
    }
    {
      if(formulaire.cond.value == "") 
        alert('Campo cond obbligatorio'); 
      else
        formulaire.submit();
    }
    ma ovviamente così basta che un solo campo sia compilato e il form va in submit.
    Sfortunatamente sono assai poco pratico e non riesco a pensare ad una "sintassi" che specifichi che il submit va effettuato solo se TUTTI i campi sono compilati..

    Qualcuno può aiutarmi?
    Grazie in anticipo.

  2. #2
    Innanzitutto chiamerei la funzione al submit del form e non al click del bottone, così da poter dare la possibilità a chi non ha javascript di inviare il form. Poi sarà tua cura effettuare i controlli anche lato server nella pagina che riceverà i dati.

    Se all'evento onsubmit del form ritorni un valore false, il form non verrà spedito. Quindi l'html lo scriverei così:
    codice:
    <form onsubmit="return verifForm(this)"> 
    <input type="text" name="campo1" size=20 /> 
    <input type="text" name="campo2" size=20 /> 
    <input type="text" name="campo3" size=20 /> 
    <input type="text" name="campo4" size=20 /> 
    <input type="submit" value="Send" /> 
    </form>
    Nello script, nella funzione verifForm(), imposterei una variabile booleana inizializzata true. poi controllerei uno ad uno i vari campi e metterei in && in risultato con la variabile bool di prima. Quindi ritorno la stessa variabile che se anche uno solo dei campi non è valido sarà false e quindi il form non verrà inviato.
    La verita' è che... tu sei il debole, e io sono la tirannia degli uomini malvagi, ma ci sto provando ringo, ci sto provando con grandissima fatica a diventare il pastore..

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    15
    Grazie 8matt5,
    da come la spieghi tu sembra veramente un gioco da ragazzi...
    purtroppo è molto al di là delle mie capacità.

    Adesso provo.

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.