Oh, right! Well the form code is at the start of thread, the validation code is window.addEvent('domready', function() { // Get the form var form = $('comments_form'); // if the form is found... if (form) { // obtain error fields var name = $('fullname'); var email = $('email'); var comment = $('comment'); // Set the default status var isValid = true; // input error function for the error messages var addError = function (field, msg) { field.addClass('error'); // Add error class to field var error = field.getParent().getElement('span') || new Element('span', {'class': 'error'}); // add error message if not already placed error.set('text', msg); // error text msg error.inject(field, 'after'); // Insert error message after field }; // detach error function used to delete any error messages and remove the error class var removeError = function (field) { field.removeClass('error'); // Remove error class from form fields var error = field.getParent().getElement('span'); // find any existing error messages // destroy if error message if (error) { error.destroy(); } }; // insert submit form event form.addEvent('submit', function (e) { // Test name length if (name.get('value').length === 0) { isValid = false; addError(name, nameError); } else { isValid = true; removeError(name); } // check email length if (email.get('value').length === 0) { isValid = false; addError(email, emailError); // check email validity } else if (!email.get('value').test(/^([a-zA-Z0-9\+_\-]+)(\.[a-zA-Z0-9\+_\-]+)*@([a-zA-Z0-9\-]+\.)+[a-zA-Z]{2,6}$/)) { isValid = false; addError(email, emailError); } else { isValid = true; removeError(email); } // check comment length if (comment.get('value').length === 0) { isValid = false; addError(comment, commentError); } else { isValid = true; removeError(comment); } // If form invalid then stop event happening if (!isValid) { e.stop(); } }); } }); and the css is body {background:#F0F2F2; } #formwrap {width:720px; margin-top:30px; margin-left:30px; background:#FFF; border:1px solid #000; border-radius:20px; box-shadow:2px 2px 5px #666; padding:20px; } #formwrap #form {border-top:1px solid #EEE; width:720px; } #form.row {border-bottom:1px dotted #EEE; display:block; line-height:38px; overflow:auto; padding:24px 0px; width:100%; } #form .row .label {font-size:14px; font-weight:bold; font-family:Verdana, Geneva, sans-serif; width:180px; text-align:right; float:left; padding-right:10px; margin-right:10px; } #form .row .input {float:left; margin-right:10px; /*width:auto;*/ width:285px; } } #form .row .input2 {float:left; margin-right:10px; /*width:auto;*/ width:466px; } .detail {width:260px; font-family:Verdana, Geneva, sans-serif; font-size:16px; padding:7px 8px; margin:0; display:block; border-radius:5px; background:#E9E9E9; border:1px solid #000; } .mess {width:450px; max-width:450px; height:280px; overflow:auto; font-family:Verdana, Geneva, sans-serif; font-size:16px; padding:7px 8px; line-height:16px; margin:0; display:block; border-radius:5px; background:#E9E9E9; border:1px solid #000; } .detail:focus {background-color:#FFF; border:1px solid #999; outline:none; } .mess:focus {background-color:#FFF; border:1px solid #999; outline:none; } #form .row .context {color:#999; font-size:11px; font-style:italic; line-height:14px; font-family:Verdana, Geneva, sans-serif; width:200px; } #form #submit {font-family:Verdana, Geneva, sans-serif; margin-top:25px; margin-left:200px; color:#000; font-size:16px; text-shadow:1px 1px 1px #999; padding:10px; } span.error {color:rgba(0,0,0,1); display:block; font-family:Verdana, Geneva, sans-serif; font-size:12px; background-image:url(../images/x.png); background-repeat:no-repeat; background-position: left 6px; padding-left:25px; line-height:30px; } #formwrap h2 {font-family:Verdana, Geneva, sans-serif; text-shadow:1px 1px 1px #333; color:rgba(0,0,0,1); margin-left:25px; } Hope something here shows what might be the cause!
... View more