rafinos Δημοσ. 3 Δεκεμβρίου 2011 Δημοσ. 3 Δεκεμβρίου 2011 (επεξεργασμένο) Γεια σας! Θέλω όταν πατάω submit σε μια φόρμα να μην κάνει redirect αν είναι false τα πεδία και αν δεν είναι false να γίνεται κανονικά το redirect.... ποιο είναι το λάθος παρακάτω;;;; Όταν είναι false δεν κάνει redirect αλλά όταν είναι true πάλι δεν κάνει... μήπως μπορεί κάποιος να βοηθήσεις;;;; ><html> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="register_fields.js"></script> </head> <body> <form name="form" method="post" action="reg.php" id="form"> <table> <tr> <td>Ψευδώνυμο:</td> <td><input type="text" id="username" name="username" maxlength="25"></td> <td><div id="ckusername"></div></td> </tr> <tr> <td>Κωδικός:</td> <td><input type="password" id="password" name="password" maxlength="20"></td> <td><div id="ckpassword"></div></td> </tr> <tr> <td>Επαλήθευση κωδικού:</td> <td><input type="password" id="password2" name="password2" maxlength="20"></td> <td><div id="ckpassword2"></div></td> </tr> <tr> <td>Email:</td> <td><input type="text" id="email" name="email" maxlength="100"></td> <td><div id="ckemail"></div></td> </tr> <tr> <td>Επαλήθευση Email:</td> <td><input type="text" id="email2" name="email2" maxlength="100"></td> <td><div id="ckemail2"></div></td> </tr> <tr> <td>Ημερομηνία γέννησης</td> <td> <select name="day" id="day" ></select> <select name="month" id="month"></select> <select name="year" id="year"></select> </td> <td><div id="ckdate"></div></td> </tr> </table> <input type="submit" value="submit" id="submit"> <br/> </form> <script type="text/javascript" src="date.js"></script> </body> </html> >$(document).ready(function(){ var username = $('#username'); var password = $('#password'); var password2 = $('#password2'); var email = $('#email'); var email2 = $('#email2'); username.blur(validateusername); email.blur(validatemail); email2.blur(validatemail2); password.blur(validatepassword); password2.blur(validatepassword2); username.keyup(validateusername); email.keyup(validatemail); email2.keyup(validatemail2); password.keyup(validatepassword); password2.keyup(validatepassword2); $('#form').submit(function(){ if(validateusername() & validatemail() & validatemail2() & validatepassword() & validatepassword2() ) return true; else return false; }); function validateusername(){ if (username.val().length < 1) { $("#ckusername").css("color", "red"); $("#ckusername").html("Παρακαλώ εισάγετε ένα ψευδώνυμο..."); return false; } else if (username.val().length > 3) { $.post("check/check_username.php", { username : username.val() }, function (result) { if (result < 1) { $("#ckusername").html('<img src="images/correct.png" height="15" width="15">'); return true; } else { $("#ckusername").html('<img src="images/wrong.png" height="15" width="15">'); return false; } }); } else { $("#ckusername").html('<img src="images/wrong.png" height="15" width="15">'); return false; } } function validatemail(){ if (email.val().length < 1) { $("#ckemail").css("color", "red"); $("#ckemail").html("Παρακαλώ εισάγετε ένα email..."); return false; } else { $.post("check/check_email.php", { email : email.val() }, function (emailresult) { if (emailresult < 1) { $("#ckemail").html('<img src="images/correct.png" height="15" width="15">'); return true; } else { $("#ckemail").html('<img src="images/wrong.png" height="15" width="15">'); return false; } }); } } function validatemail2(){ if (email2.val().length < 1){ $("#ckemail2").css("color","red"); $("#ckemail2").html("Παρακαλώ επαληθεύστε το email..."); return false; }else if(email2.val() != email.val()){ $("#ckemail2").css("color","red"); $("#ckemail2").html("Η επαλήθευση του email δεν είναι σωστή!"); return false; }else{ $("#ckemail2").html('<img src="images/correct.png" height="15" width="15">'); return true; } } function validatepassword(){ var score = 0; if (password.val().length<1){ $("#ckpassword").css("color","red"); $("#ckpassword").html("Παρακαλώ εισάγετε έναν κωδικό..."); return false; }else if (password.val().length<5){ $("#ckpassword").css("color","red"); $("#ckpassword").html("Ο κωδικός πρέπει να αποτελείται τουλάχιστον από 5 χαρακτήρες!"); return false; }else if(password.val() == username.val()){ $("#ckpassword").css("color","red"); $("#ckpassword").html("O κωδικός πρέπει να είναι διαφορετικός από το ψευδώνυμο!"); return false; }else if(password.val().length>=5){ if((password.val().length==5) || (password.val().match(/\d+/))){ score++; } if(password.val().length>5){ score++; } if((password.val().match(/[a-z]/)) && (password.val().match(/[A-Z]/))){ score++; } if (password.val().match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,)]/)){ score++; } if(password.val().length>10){ score++; } } if(score==1){ $("#ckpassword").css("color","red"); $("#ckpassword").html("Αδύναμος κωδικός!"); return true; }else if(score>=2 && score<4){ $("#ckpassword").css("color","blue"); $("#ckpassword").html("Μέτριος κωδικός!"); return true; }else if(score>=4){ $("#ckpassword").css("color","green"); $("#ckpassword").html("Ισχυρός κωδικός!"); return true; } } function validatepassword2(){ if(password2.val().length<1){ $("#ckpassword2").css("color","red"); $("#ckpassword2").html("Παρακαλώ επαληθεύστε τον κωδικό..."); return false; }else if(password2.val() != password.val()){ $("#ckpassword2").css("color","red"); $("#ckpassword2").html("Η επαλήθευση του κωδικού δεν είναι σωστή!"); return false; }else if(password2.val() == password.val()){ $("#ckpassword2").html('<img src="images/correct.png" height="15" width="15">'); return true; } } }); Επεξ/σία 3 Δεκεμβρίου 2011 από rafinos
_tasos Δημοσ. 3 Δεκεμβρίου 2011 Δημοσ. 3 Δεκεμβρίου 2011 Δοκίμασε αυτό: > $('#form').submit(function(){ if(validateusername() && validatemail() && validatemail2() && validatepassword() && validatepassword2() ) return true; else return false; });
rafinos Δημοσ. 3 Δεκεμβρίου 2011 Μέλος Δημοσ. 3 Δεκεμβρίου 2011 Δοκίμασε αυτό: > $('#form').submit(function(){ if(validateusername() && validatemail() && validatemail2() && validatepassword() && validatepassword2() ) return true; else return false; }); Μπαααα τίποτα... και έτσι δεν κάνει τίποτα... αλλά ακόμα χειρότερα πριν με το που πατούσα submit μου έτρεχε και τις συναρτήσεις... τώρα μου τρέχει μόνο την validateusername.... παίζει να φταίνε τα .post που έχω αλλά πως θα μπορούσα να τα έχω ...
mixalis8 Δημοσ. 4 Δεκεμβρίου 2011 Δημοσ. 4 Δεκεμβρίου 2011 για δοκίμασε να δώσεις name στο κουμπί <input type="submit" value="submit" id="submit"> <input type="submit" value="submit" id="submit" name="submit">
prekageo Δημοσ. 4 Δεκεμβρίου 2011 Δημοσ. 4 Δεκεμβρίου 2011 Μπαααα τίποτα... και έτσι δεν κάνει τίποτα... αλλά ακόμα χειρότερα πριν με το που πατούσα submit μου έτρεχε και τις συναρτήσεις... τώρα μου τρέχει μόνο την validateusername.... παίζει να φταίνε τα .post που έχω αλλά πως θα μπορούσα να τα έχω ... Λογικό να τρέχει μόνο η validateusername. Διάβασε το εξής: http://en.wikipedia.org/wiki/Short-circuit_evaluation
rafinos Δημοσ. 7 Δεκεμβρίου 2011 Μέλος Δημοσ. 7 Δεκεμβρίου 2011 Γεια σας παιδιά τελικά δούλεψε με τον παρακάτω κώδικα... >$(document).ready(function () { var username = $('#username'); var password = $('#password'); var password2 = $('#password2'); var email = $('#email'); var email2 = $('#email2'); username.blur(validateusername); email.blur(validatemail); email2.blur(validatemail2); password.blur(validatepassword); password2.blur(validatepassword2); username.keyup(validateusername); email.keyup(validatemail); email2.keyup(validatemail2); password.keyup(validatepassword); password2.keyup(validatepassword2); function validateusername() { if (username.val().length < 1) { $("#ckusername").css("color", "red"); $("#ckusername").html("Παρακαλώ εισάγετε ένα ψευδώνυμο..."); return 1; } else if (username.val().length > 3) { $.post("check/check_username.php", { username : username.val() }, function (result) { if (result < 1) { $("#ckusername").html('<img src="images/correct.png" height="15" width="15">ok'); return ''; } else { $("#ckusername").html('<img src="images/wrong.png" height="15" width="15">no'); return 1; } }); } else { $("#ckusername").html('<img src="images/wrong.png" height="15" width="15">'); return 1; } return ''; } function validatemail() { if (email.val().length < 1) { $("#ckemail").css("color", "red"); $("#ckemail").html("Παρακαλώ εισάγετε ένα email..."); return 1; } else { $.post("check/check_email.php", { email : email.val() }, function (emailresult) { if (emailresult < 1) { $("#ckemail").html('<img src="images/correct.png" height="15" width="15">ok'); return ''; } else { $("#ckemail").html('<img src="images/wrong.png" height="15" width="15">no'); return 1; } }); return ''; } } function validatemail2() { if (email2.val().length < 1) { $("#ckemail2").css("color", "red"); $("#ckemail2").html("Παρακαλώ επαληθεύστε το email..."); return 1; } else if (email2.val() != email.val()) { $("#ckemail2").css("color", "red"); $("#ckemail2").html("Η επαλήθευση του email δεν είναι σωστή!"); return 1; } else { $("#ckemail2").html('<img src="images/correct.png" height="15" width="15">ok'); return ''; } } function validatepassword() { var score = 0; if (password.val().length < 1) { $("#ckpassword").css("color", "red"); $("#ckpassword").html("Παρακαλώ εισάγετε έναν κωδικό..."); return 1; } else if (password.val().length < 5) { $("#ckpassword").css("color", "red"); $("#ckpassword").html("Ο κωδικός πρέπει να αποτελείται τουλάχιστον από 5 χαρακτήρες!"); return 1; } else if (password.val() == username.val()) { $("#ckpassword").css("color", "red"); $("#ckpassword").html("O κωδικός πρέπει να είναι διαφορετικός από το ψευδώνυμο!"); return 1; } else if (password.val().length >= 5) { if ((password.val().length == 5) || (password.val().match(/\d+/))) { score++; } if (password.val().length > 5) { score++; } if ((password.val().match(/[a-z]/)) && (password.val().match(/[A-Z]/))) { score++; } if (password.val().match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,)]/)) { score++; } if (password.val().length > 10) { score++; } } if (score == 1) { $("#ckpassword").css("color", "red"); $("#ckpassword").html("Αδύναμος κωδικός!"); return ''; } else if (score >= 2 && score < 4) { $("#ckpassword").css("color", "blue"); $("#ckpassword").html("Μέτριος κωδικός!"); return ''; } else if (score >= 4) { $("#ckpassword").css("color", "green"); $("#ckpassword").html("Ισχυρός κωδικός!"); return ''; } } function validatepassword2() { if (password2.val().length < 1) { $("#ckpassword2").css("color", "red"); $("#ckpassword2").html("Παρακαλώ επαληθεύστε τον κωδικό..."); return 1; } else if (password2.val() != password.val()) { $("#ckpassword2").css("color", "red"); $("#ckpassword2").html("Η επαλήθευση του κωδικού δεν είναι σωστή!"); return 1; } else if (password2.val() == password.val()) { $("#ckpassword2").html('<img src="images/correct.png" height="15" width="15">ok'); return ''; } } $('#form').submit(function () { var check = validateusername(); check += validatemail(); check += validatemail2(); check += validatepassword(); check += validatepassword2(); if (check == '') { return true; } else { return false; } }); }); πήγα να κάνω μερικές αλλαγές αλλά τώρα κάνει submit ενώ υπάρχει το username..... >function validateusername() { var a = ''; if (username.val().length < 1) { a = 2; return a; //einai keno } else if (username.val().length > 3) { $.post("check/check_username.php", { username : username.val() }, function (result) { if (result < 1) { a = ''; return a; //einai diathesimo } else if(result == 1){ a = result; return a; //den einai diathesimo } }); } else { a=3; return 3; //den einai 4is xaraktires kai pano } return a; } $("#form").submit(function () { var check = ''; var user = validateusername(); if (user == 1){ check += "Το ψευδώνυμο δεν είναι διαθέσιμο!<br />"; }else if (user == 2){ check += "Το ψευδώνυμο είναι κενο!<br />"; }else if (user == 3){ check += "Το ψευδώνυμο πρέπει να αποτελείται τουλάχιστον από 4ις χαρακτήρες!<br />"; }else{ check +=''; } if (check == '') { return true; } else { $("#check").html(check); return false; } }); Στο παραπάνω ποιο είναι το πρόβλημα.... γιατί κάνει κανονικά submit όταν υπάρχει το username..... ενώ όλα τα άλλα δουλεύουν μια χαρά! Και το ποιο περίεργο από όλα είναι ότι το firebug μου βγάζει ότι η τιμές που επιστρέφει το check_username.php είναι σωστές.... (0 ή 1 αντίστοιχα...)
rafinos Δημοσ. 10 Δεκεμβρίου 2011 Μέλος Δημοσ. 10 Δεκεμβρίου 2011 Παιδιά αν κάποιος έχει χρόνο να κοιτάξει ένα από τα δύο αρχεία (και τα δύο κάνουν το ίδιο πράγμα με διαφορετικό τρόπο...) και να το κάνει να δουλέψει θα του είμαι ευγνώμων γιατί εγώ έχω τρελαθεί δεν καταλαβαίνω γιατί δεν δουλεύειε Ειδικά το 1234.rar δεν καταλαβαίνω καθόλου γιατί δεν δουλέυει σωστα πφφφφφφ 4321rar και 1234.rar
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα