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!