Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ. (επεξεργασμένο)

Γεια σας!

 

Θέλω όταν πατάω 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;
	}
} 

});

Επεξ/σία από rafinos
Δημοσ.

Δοκίμασε αυτό:

>
$('#form').submit(function(){
   if(validateusername() && validatemail() && validatemail2() && validatepassword() && validatepassword2() )
       return true;
   else 
       return false;
});

Δημοσ.

Δοκίμασε αυτό:

>
$('#form').submit(function(){
   if(validateusername() && validatemail() && validatemail2() && validatepassword() && validatepassword2() )
       return true;
   else 
       return false;
});

 

Μπαααα :( τίποτα... και έτσι δεν κάνει τίποτα... αλλά ακόμα χειρότερα πριν με το που πατούσα submit μου έτρεχε και τις συναρτήσεις... τώρα μου τρέχει μόνο την validateusername....

 

παίζει να φταίνε τα .post που έχω αλλά πως θα μπορούσα να τα έχω ...

Δημοσ.

Μπαααα :( τίποτα... και έτσι δεν κάνει τίποτα... αλλά ακόμα χειρότερα πριν με το που πατούσα submit μου έτρεχε και τις συναρτήσεις... τώρα μου τρέχει μόνο την validateusername....

 

παίζει να φταίνε τα .post που έχω αλλά πως θα μπορούσα να τα έχω ...

Λογικό να τρέχει μόνο η validateusername. Διάβασε το εξής: http://en.wikipedia.org/wiki/Short-circuit_evaluation

Δημοσ.

Γεια σας παιδιά τελικά δούλεψε με τον παρακάτω κώδικα...

>$(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 αντίστοιχα...)

Δημοσ.

Παιδιά αν κάποιος έχει χρόνο να κοιτάξει ένα από τα δύο αρχεία (και τα δύο κάνουν το ίδιο πράγμα με διαφορετικό τρόπο...) και να το κάνει να δουλέψει θα του είμαι ευγνώμων γιατί εγώ έχω τρελαθεί δεν καταλαβαίνω γιατί δεν δουλεύειε :(

 

Ειδικά το 1234.rar δεν καταλαβαίνω καθόλου γιατί δεν δουλέυει σωστα πφφφφφφ

 

 

 

4321rar

 

και

 

1234.rar

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...