Radio button validation με Javascript & AJAX

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Skywalker
Δημοσιεύσεις: 31
Εγγραφή: 20 Μάιος 2008 17:33

Radio button validation με Javascript & AJAX

Δημοσίευση από Skywalker » 27 Ιαν 2011 11:16

Έχω μια φόρμα εγγραφής σε HTML και θέλω να κάνω validation. Στα TextInputs το validation γίνεται μια χαρά αλλά στα Radio buttons υπάρχει πρόβλημα. Ο χρήστης θα πρέπει να τσεκάρει ένα από τα δύο radio που υπάρχουν. Αυτός είναι ο κώδικας που έχω σε ξεχωριστό JS αρχέιο:

Κώδικας: Επιλογή όλων

$(document).ready(function(){
	//global vars
	var form = $("#customForm");
	var onoma = $("#onoma");
	var onomaInfo = $("#onomaInfo");
	var eponimo = $("#eponimo");
	var eponimoInfo = $("#eponimoInfo");
	var email = $("#email");
	var emailInfo = $("#emailInfo");
	var username = $("#username");
	var usernameInfo = $("#usernameInfo");
	var pass1 = $("#pass1");
	var pass1Info = $("#pass1Info");
	var pass2 = $("#pass2");
	var pass2Info = $("#pass2Info");
	var vercode = $("#vercode");
	var vercodeInfo = $("#vercodeInfo");

	//On blur
	onoma.blur(validateonoma);
	eponimo.blur(validateeponimo);
	email.blur(validateEmail);
	username.blur(validateusername);
	pass1.blur(validatePass1);
	pass2.blur(validatePass2);
	vercode.blur(validatevercode);
	//On key press
	onoma.keyup(validateonoma);
	eponimo.keyup(validateeponimo);
	email.keyup(validateEmail);
	username.keyup(validateusername);
	pass1.keyup(validatePass1);
	pass2.keyup(validatePass2);
	vercode.keyup(validatevercode);
	//On Submitting
	form.submit(function(){
		if(validateonoma() & validateeponimo() & validateEmail() & validateusername() & validatePass1() & validatePass2() & validatevercode())
			return true
		else
			return false;
	});
	
	//validation functions
	function validateEmail(){
		//testing regular expression
		var a = $("#email").val();
		var filter = /^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+[a-zA-Z0-9_-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+.[a-z]{2,4}$/;
		//if it's valid email
		if(filter.test(a)){
			email.removeClass("error");
			emailInfo.text("");
			emailInfo.removeClass("error");
			return true;
		}
		//if it's NOT valid
		else{
			email.addClass("error");
			emailInfo.text("Δεν έχετε εισάγει έγκυρη διεύθυνση email!");
			emailInfo.addClass("error");
			return false;
		}
	}
	function validateonoma(){
		//if it's NOT valid
		if&#40;onoma.val&#40;&#41;.length < 4&#41;&#123;
			onoma.addClass&#40;"error"&#41;;
			onomaInfo.text&#40;"Πρέπει να έχει περισσότερα από 3 γράμματα!"&#41;;
			onomaInfo.addClass&#40;"error"&#41;;
			return false;
		&#125;
		//if it's valid
		else&#123;
			onoma.removeClass&#40;"error"&#41;;
			onomaInfo.text&#40;""&#41;;
			onomaInfo.removeClass&#40;"error"&#41;;
			return true;
		&#125;
	&#125;
	
	function validateeponimo&#40;&#41;&#123;
		//if it's NOT valid
		if&#40;eponimo.val&#40;&#41;.length < 4&#41;&#123;
			eponimo.addClass&#40;"error"&#41;;
			eponimoInfo.text&#40;"Πρέπει να έχει περισσότερα από 3 γράμματα!"&#41;;
			eponimoInfo.addClass&#40;"error"&#41;;
			return false;
		&#125;
		//if it's valid
		else&#123;
			eponimo.removeClass&#40;"error"&#41;;
			eponimoInfo.text&#40;""&#41;;
			eponimoInfo.removeClass&#40;"error"&#41;;
			return true;
		&#125;
	&#125;

	function validateusername&#40;&#41;&#123;
		//testing regular expression
		var a = $&#40;"#username"&#41;.val&#40;&#41;;
		var filter = /^&#40;&#91;a-zA-Z0-9-_&#93;&#41;+$/;
		//if it's valid username
		if&#40;filter.test&#40;a&#41; & username.val&#40;&#41;.length > 3&#41;&#123;
			username.removeClass&#40;"error"&#41;;
			usernameInfo.text&#40;""&#41;;
			usernameInfo.removeClass&#40;"error"&#41;;
			return true;
		&#125;
		//if it's NOT valid
		else&#123;
			username.addClass&#40;"error"&#41;;
			usernameInfo.text&#40;"Λατινικοί χαρακτήρες χωρίς κενά!"&#41;;
			usernameInfo.addClass&#40;"error"&#41;;
			return false;
		&#125;
	&#125;

	function validatePass1&#40;&#41;&#123;
		var a = $&#40;"#password1"&#41;;
		var b = $&#40;"#password2"&#41;;

		//it's NOT valid
		if&#40;pass1.val&#40;&#41;.length <4&#41;&#123;
			pass1.addClass&#40;"error"&#41;;
			pass1Info.text&#40;"Πρέπει να έχει 4 χαρακτήρες τουλάχιστον!"&#41;;
			pass1Info.addClass&#40;"error"&#41;;
			return false;
		&#125;
		//it's valid
		else&#123;			
			pass1.removeClass&#40;"error"&#41;;
			pass1Info.text&#40;""&#41;;
			pass1Info.removeClass&#40;"error"&#41;;
			validatePass2&#40;&#41;;
			return true;
		&#125;
	&#125;
	function validatePass2&#40;&#41;&#123;
		var a = $&#40;"#password1"&#41;;
		var b = $&#40;"#password2"&#41;;
		//are NOT valid
		if&#40; pass1.val&#40;&#41; != pass2.val&#40;&#41; &#41;&#123;
			pass2.addClass&#40;"error"&#41;;
			pass2Info.text&#40;"Τα passwords δεν ταιριάζουν!"&#41;;
			pass2Info.addClass&#40;"error"&#41;;
			return false;
		&#125;
		//are valid
		else&#123;
			pass2.removeClass&#40;"error"&#41;;
			pass2Info.text&#40;""&#41;;
			pass2Info.removeClass&#40;"error"&#41;;
			return true;
		&#125;
	&#125;

	function validatevercode&#40;&#41;&#123;
		//if it's NOT valid
		if&#40;vercode.val&#40;&#41; != 10&#41;&#123;
			vercode.addClass&#40;"error"&#41;;
			vercodeInfo.text&#40;"Λάθος άθροισμα!"&#41;;
			vercodeInfo.addClass&#40;"error"&#41;;
			return false;
		&#125;
		//if it's valid
		else&#123;
			vercode.removeClass&#40;"error"&#41;;
			vercodeInfo.text&#40;""&#41;;
			vercodeInfo.removeClass&#40;"error"&#41;;
			return true;
		&#125;
	&#125;
&#125;&#41;;
Τα radio buttons έχουν name="gender" και id="gender".
Μπορεί κανείς να βοηθήσει σχετικά μ'αυτό;
Ευχαριστώ εκ των προτέρων!

Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες