Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di Ely88M
    Registrato dal
    Oct 2007
    Messaggi
    281

    controllo campi obbligatori

    ciao,
    ho un form che l'utente riempie con i suoi dati
    ci sono una serie di input type text e con radio button.....
    ho uno script che controlla che i campi non siano vuoti. lo script funziona, ma appena disabilito un campo, mi avverte se i campi prima di quello disabilitato sono vuoti, mentre quelli dopo il campo disabilitato li tralascia, sicuramente sbaglio qualcosa.....
    vi posto il cod:
    codice:
    <html>
      <head>
        <script type="text/javascript">
          function ControllaTesti(oForm) {
            var cllcElem = oForm.elements; //collection degli elementi della form
    
            for (i = 0; i < cllcElem.length; i++) {
              if ((cllcElem[i].tagName.toLowerCase() == "input" && cllcElem[i].type.toLowerCase() == "text" )
                 ) { //Si contrallano i tag input di tipo testo
    
                    if (cllcElem[i].value.replace(/\s+$|^\s+/g,"") == "") { //Se il valore trimmato è vuoto si blocca il submit
                      cllcElem[i].focus();
                      alert("Campo " + cllcElem[i].name + " obbligatorio");
                      return false;
                    }
              }
            }
    
            //Viene ritornato true solo se sono stati valorizzati tutti i campi testuali
            return true;
          }
        </script>
        <script type="text/javascript">
        function disabilitaP(){
    
          document.getElementById('i2').disabled=true;
         document.getElementById('i8').disabled=true;
    }
       </script>
      </head>
    
      <body>
        <form action="pagina.php" onsubmit="return ControllaTesti(this);">
        <input type="radio" name="r" onclick="disabilitaP();">
      1    <input name="i1" type="text" />
       2   <input name="i2" type="text" />
        3  <input name="i3" type="text" />
    
        7  <input name="i7" type="text" />
         8 <input name="i8" type="text" />
    
    
          <input type="submit" />
        </form>
      </body>
    </html
    mi date una mano?? thanks

  2. #2
    Utente di HTML.it L'avatar di Ely88M
    Registrato dal
    Oct 2007
    Messaggi
    281
    nessuno mi aiuta??

  3. #3
    primo: usi getElementById ma non definisci nessun Id!!! Certo, IE e' tollerante su questo ma non ci puoi fare affidamento. Infatti FF segnala errore

    secondo: devi evitare di fare il controllo sui campi disabilitati

    codice:
    <html>
      <head>
        <script type="text/javascript">
          function ControllaTesti(oForm) {
            var cllcElem = oForm.elements; //collection degli elementi della form
    
            for (i = 0; i < cllcElem.length; i++) {
              if ((cllcElem[i].tagName.toLowerCase() == "input" && cllcElem[i].type.toLowerCase() == "text" && cllcElem[i].disabled==false)
                 ) { //Si contrallano i tag input di tipo testo
    
                    if (cllcElem[i].value.replace(/\s+$|^\s+/g,"") == "") { //Se il valore trimmato è vuoto si blocca il submit
                      cllcElem[i].focus();
                      alert("Campo " + cllcElem[i].name + " obbligatorio");
                      return false;
                    }
              }
            }
    
            //Viene ritornato true solo se sono stati valorizzati tutti i campi testuali
            return true;
          }
        </script>
        <script type="text/javascript">
        function disabilitaP(){
    
          document.getElementById('i2').disabled=true;
         document.getElementById('i8').disabled=true;
    }
       </script>
      </head>
    
      <body>
        <form action="pagina.php" onsubmit="return ControllaTesti(this);">
        <input type="radio" name="r" onclick="disabilitaP();">
      1    <input id="i1" name="i1" type="text" />
       2   <input id="i2" name="i2" type="text" />
        3  <input id="i3" name="i3" type="text" />
    
        7  <input id="i7" name="i7" type="text" />
         8 <input id="i8" name="i8" type="text" />
    
    
          <input type="submit" />
        </form>
      </body>
    </html>

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.