It appears you have not yet registered with DEVPPL. To register please click here... (it's fast, easy and free!)

Forum

Log In Sponsors
Partner Sites
Board index Programming JavaScript Forum

Combining two javascript form validation codes

Combining two javascript form validation codes

Postby zonerdck on Wed Feb 25, 2009 7:10 am

ok i have two scripts messages.js and messages2.js they are a form validation script . either one works great until i load them both in the same page bisically i need them to either be combined into one that will work for both my register form and login form or i need them to get along with eachother. they are basically the same except for the variables. if somebody can combine the script into one and make it work id be happy to buy them a paypal twelve pack. No Joke. Also if you need any more info send me a message,

P.S. im a beginer so please be elaborate thanks.

This is the first one messages.js


// form validation function //
function validate(form) {
var pwd = form.pwd.value;
var email = form.email.value;
var emailRegex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;

if(email == "") {
inlineMsg('email','<strong>Error</strong><br /><strong>You must enter your email.</strong>',3);
return false;
}
if(!email.match(emailRegex)) {
inlineMsg('email','<strong>Error</strong><br /><strong>You have entered an invalid email.</strong>',3);
return false;
}
if(pwd == "") {
inlineMsg('pwd','<strong>Error</strong><br /><strong>You must enter your password.</strong>',3);
return false;
}

return true;
}

// START OF MESSAGE SCRIPT //

var MSGTIMER = 20;
var MSGSPEED = 5;
var MSGOFFSET = 3;
var MSGHIDE = 3;

// build out the divs, set attributes and call the fade function //
function inlineMsg(target,string,autohide) {
var msg;
var msgcontent;
if(!document.getElementById('msg')) {
msg = document.createElement('div');
msg.id = 'msg';
msgcontent = document.createElement('div');
msgcontent.id = 'msgcontent';
document.body.appendChild(msg);
msg.appendChild(msgcontent);
msg.style.filter = 'alpha(opacity=0)';
msg.style.opacity = 0;
msg.alpha = 0;
} else {
msg = document.getElementById('msg');
msgcontent = document.getElementById('msgcontent');
}
msgcontent.innerHTML = string;
msg.style.display = 'block';
var msgheight = msg.offsetHeight;
var targetdiv = document.getElementById(target);
targetdiv.focus();
var targetheight = targetdiv.offsetHeight;
var targetwidth = targetdiv.offsetWidth;
var topposition = topPosition(targetdiv) - ((msgheight - targetheight) / 2);
var leftposition = leftPosition(targetdiv) + targetwidth + MSGOFFSET;
msg.style.top = topposition + 'px';
msg.style.left = leftposition + 'px';
clearInterval(msg.timer);
msg.timer = setInterval("fadeMsg(1)", MSGTIMER);
if(!autohide) {
autohide = MSGHIDE;
}
window.setTimeout("hideMsg()", (autohide * 1000));
}

// hide the form alert //
function hideMsg(msg) {
var msg = document.getElementById('msg');
if(!msg.timer) {
msg.timer = setInterval("fadeMsg(0)", MSGTIMER);
}
}

// face the message box //
function fadeMsg(flag) {
if(flag == null) {
flag = 1;
}
var msg = document.getElementById('msg');
var value;
if(flag == 1) {
value = msg.alpha + MSGSPEED;
} else {
value = msg.alpha - MSGSPEED;
}
msg.alpha = value;
msg.style.opacity = (value / 100);
msg.style.filter = 'alpha(opacity=' + value + ')';
if(value >= 99) {
clearInterval(msg.timer);
msg.timer = null;
} else if(value <= 1) {
msg.style.display = "none";
clearInterval(msg.timer);
}
}

// calculate the position of the element in relation to the left of the browser //
function leftPosition(target) {
var left = 0;
if(target.offsetParent) {
while(1) {
left += target.offsetLeft;
if(!target.offsetParent) {
break;
}
target = target.offsetParent;
}
} else if(target.x) {
left += target.x;
}
return left;
}

// calculate the position of the element in relation to the top of the browser window //
function topPosition(target) {
var top = 0;
if(target.offsetParent) {
while(1) {
top += target.offsetTop;
if(!target.offsetParent) {
break;
}
target = target.offsetParent;
}
} else if(target.y) {
top += target.y;
}
return top;
}

// preload the arrow //
if(document.images) {
arrow = new Image(7,80);
arrow.src = "arrow/msg_arrow.gif";
}




This is the second messages2.js




// form validation function //
function validate(form) {
var full_name = form.full_name.value;
var password = form.password.value;
var password2 = form.password2.value;
var email = form.email.value;
var user_code = form.user_code.value;
var emailRegex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;

if(full_name == "") {
inlineMsg('full_name','<strong>Error</strong><br /><strong>You must enter your full name.</strong>',3);
return false;
}
if(email == "") {
inlineMsg('email','<strong>Error</strong><br /><strong>You must enter your email.</strong>',3);
return false;
}
if(!email.match(emailRegex)) {
inlineMsg('email','<strong>Error</strong><br /><strong>You have entered an invalid email.</strong>',3);
return false;
}
if(password == "") {
inlineMsg('password','<strong>Error</strong><br /><strong>You must enter your password.</strong>',3);
return false;
}
if(password2 == "") {
inlineMsg('password2','<strong>Error</strong><br /><strong>You must enter the same password.</strong>',3);
return false;
}
if(user_code == "") {
inlineMsg('user_code','<strong>Error</strong><br /><strong>You must enter the same numbers.</strong>',3);
return false;
}
return true;
}

// hide the form alert //
function hideMsg(msg) {
var msg = document.getElementById('msg');
if(!msg.timer) {
msg.timer = setInterval("fadeMsg(0)", MSGTIMER);
}
}

// face the message box //
function fadeMsg(flag) {
if(flag == null) {
flag = 1;
}
var msg = document.getElementById('msg');
var value;
if(flag == 1) {
value = msg.alpha + MSGSPEED;
} else {
value = msg.alpha - MSGSPEED;
}
msg.alpha = value;
msg.style.opacity = (value / 100);
msg.style.filter = 'alpha(opacity=' + value + ')';
if(value >= 99) {
clearInterval(msg.timer);
msg.timer = null;
} else if(value <= 1) {
msg.style.display = "none";
clearInterval(msg.timer);
}
}

// calculate the position of the element in relation to the left of the browser //
function leftPosition(target) {
var left = 0;
if(target.offsetParent) {
while(1) {
left += target.offsetLeft;
if(!target.offsetParent) {
break;
}
target = target.offsetParent;
}
} else if(target.x) {
left += target.x;
}
return left;
}

// calculate the position of the element in relation to the top of the browser window //
function topPosition(target) {
var top = 0;
if(target.offsetParent) {
while(1) {
top += target.offsetTop;
if(!target.offsetParent) {
break;
}
target = target.offsetParent;
}
} else if(target.y) {
top += target.y;
}
return top;
}

// preload the arrow //
if(document.images) {
arrow = new Image(7,80);
arrow.src = "arrow/msg_arrow.gif";
}
zonerdck
 
Posts: 2
Joined: Wed Feb 25, 2009 7:00 am

Re: Combining two javascript form validation codes

Postby rangana on Thu Feb 26, 2009 4:26 pm

You are using identical functions on your script.

You have two "validate()" function which creates conflict.

You either need to rename one of them, or you need to combine the two validate() function - Oh, it would be easier if you rename the other function instead.
~ Get me some work, I do freelancing ~
User avatar
rangana
500+ Club
 
Posts: 929
Joined: Wed Feb 27, 2008 6:14 am
Location: Cebu City Philippines


Return to JavaScript Forum

Who is online

Users browsing this forum: No registered users and 4 guests