Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    144

    [jQuery] Problema con validazione modulo

    Ciao!
    Spero di non chiedere troppo.
    Ho un problema con questo codice:
    Codice PHP:
    <script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
    <script type="text/javascript">
    $(
      function()
      {
          var controllo = 
          {
              regole:
              {
                  obbligatorio: /./
              },
              
              errori:
              {
                  obbligatorio: "Questo campo deve essere compilato."
              },
              
              pulisci: function(target)
              {
                  var frat = $(target).nextAll();
                  if(frat.length > 0)
                  {
                      for(var i=0;i<=frat.length;i++)
                      {
                          $(frat[i]).remove();
                      }
                  }
              },
              
              esecuzione: function()
              {
              var num = $(".tabmodulo input[type='text']").bind("blur", controllo.validatore);
              },
              
              validatore: function(event)
              {
                  controllo.pulisci(this);
                  var classi = $(this).attr("class");
                  var espreg = /(^| )(\S+)( |$)/g;
                  var classe;
                  while(classe=espreg.exec(classi))
                  {
                      var pura = classe[2]; //all'indice 2 si trova la seconda porzione di codice individuata dall'espr reg (la classe senza gli spazi)
                      var reg = controllo.regole[pura]; //cerca nel metodo "regole" se esiste una proprietà col nome della classe individuata
                      if(!reg.test($(this).attr("value"))) //controlla se ciò che è stato scritto o non scritto nel campo di testo viene riscontrato nella exp reg corrispontente alla classe trovata in precedenza
                      {
                          var messag = "[img]img/false.gif[/img]
    <h5>"+controllo.errori[pura]+"</h5>";
                          $(this).after(messag);
                      } else
                      {
                          var imgtrue = "[img]img/true.gif[/img]";
                          $(this).after(imgtrue);
                      }
                  }
              }
          };
          controllo.esecuzione();
      }
    );

    </script> 
    Breve descrizione: ciò che dovrebbe fare è far comparire un messaggio di errore o di correttezza all'evento BLUR di un qualsiasi campo di testo del modulo.

    Problema: Il problema che dà questo codice è che funziona bene per due volte e poi smette di funzionare. Ossia al primo evento blur funziona (mostra il messaggio) al secondo evento blur lo stesso.. invece al terzo niente..
    Non riesco a spiegarmelo. C'è qualcuno che mi può aiutare, per favore?
    Un grande grazie in anticipo!

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    144
    risolto. Il problema stava nel metodo "pulisci"

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.