Ciao ragazzi ho un form dinamico(molto semplice è una prova!) che controlla "al volo" i dati emessi anche via php tramite jquery. Vi spiego come funziona lo script in generale, c'è una funziona che controlla da che id viene chiamata e a seconda di quale id è prendi i dati e fa dei controlli, poi c'è una funzione che controlla se ci sono campi vuoti, se ci sono degli errori, altrimentoi manda un scritta che dice che l'iscrizione è conclusa, ripeto è solo una prova. Il problema è che mi trova sempre errori anche dove non ci sono, per controllare gli errori controllo che siano vuoti gli elementi dove andrebbero scritti gli errori. vi posto il codice completo.
codice:<html> <head> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script> <script type="text/javascript"> function ctrl(id){ //qualunque chiamata sia cancello lo status del form document.getElementById('status').innerHTML=''; doc = document.getElementById(id); doc2 = document.getElementById('error_'+id); //controllo quale campo è if (id == 'nick'){ //prendo il valore e faccio dei controlli var val = doc.value; if (val.length > 8){ doc2.innerHTML='Il nick deve avere massimo 8 caratteri.'; } else{ //controllo sql sull'esistenza nel db $('#error_'+id).load('sql.php?valore='+val+'&campo='+id); } } else if (id == 'pass'){ //prendo il valore e faccio dei controlli var val = doc.value; if (val.length > 12 || val.length < 6){ doc2.innerHTML='La password deve essere compresa tra i 6 e i 12 caratteri.'; } else{ doc2.innerHTML=''; } } } function ctrl_final(){ nick = document.getElementById('error_nick').value; pass = document.getElementById('error_pass').value; if (mio_form.nick.value == '' || mio_form.pass.value == ''){ $("#status").text("Ci sono campi vuoti!").css("color","red"); } else if (nick != '' || pass != ''){ $("#status").text("Ci sono degli errori!").css("color","red"); } else{ $("#status").text("Complimenti iscrizione completata!").css("color","green"); } } </script> </head> <body> <span id="status" ></span> <form name="mio_form"> <table border="0"> <tr> <td></td><td><span style="color:red; font-size:14px;" id="error_nick"></span></td> </tr> <tr> <td>Nick: </td><td><input type="text" name="nick" id="nick" onchange="ctrl('nick');"/></td> </tr> <tr> <td></td><td><span style="color:red; font-size:14px;" id="error_pass"></span></td> </tr> <tr> <td>Password: </td><td><input type="password" name="pass" id="pass" onchange="ctrl('pass');"/></td> </tr> <tr> <td><input type="button" value="Iscriviti" onClick="ctrl_final();" /></td> </tr> </table> </form> </body> </html>



Rispondi quotando