Trying to load a custom form submisson error box in Facebox, when testing around with some code im having trouble getting .append() to append more than one time. If both of the example errors are failed its only loading appending and loading one in to the facebox, but if one at a time is failed it will show the correct one that is supposed to display, just not both at once..
Sorry if the code is messy / not efficient, javascript isn’t my strong suit.
$('#signup').submit( function() {
var fname = $("#fname").val();
var lname = $("#lname").val();
var uname = $("#username").val();
var pass = $("#password").val();
var passc = $("#passwordc").val();
var email = $("#email").val();
if(/^[a-zA-Z0-9_]*$/.test(uname) == false) {
//alert('Usernames can be alphanumeric but may include an underscore.');
$("#errorholder").append('<tr><td style="margin: 0;">Usernames can be alphanumeric but may include a underscore.</td></tr>');
}
else if(/^[a-zA-Z']*$/.test(fname) == false) {
//alert('First name may not contain numbers or symbols.');
$("#errorholder").append('<tr><td style="margin: 0;">First name may not contain numbers or symbols</td></tr>');
}
else if(/^[a-zA-Z']*$/.test(lname) == false) {
//alert('Last name may not contain numbers or symbols.');
}
else if(!$("#fname").val()){
//alert('First name required');
}
else if(!lname){
//alert('Last name required');
}
else if(!uname){
//alert('Userame required');
}
else if(pass!=passc){
//alert('Passwords don\'t match');
}
else if(pass.length<5){
//alert('Password must be at least 5 characters.');
}
else if(!email){
//alert('Email required');
}
else if (!$("input:radio[name='gender']:checked").val()) {
// alert('Please select gender.');
}
jQuery.facebox({ div: '#piksplay' });
return false;
});
});
You’re trying to test multiple conditions, but you’re using
else if. As soon as your code find atruecondition then it doesn’t test anything else, so only oneappendwill get fired each time. These all need to be separateifstatements.