Form won't submit

Can’t get form to submit but validation works… Even once the validation is accepted the form still will not submit.


<form class="contact" method="post" action="contact.php" name="contact" onsubmit="return messagesend()">


messagesend.onclick = function(){
		if (fullnameform == null || fullnameform =="" || emailform == null || emailform =="" || subjectform == null || subjectform =="" || bodyform == null || bodyform =="")
		  {
		  	if (fullname.value.length === 0){
		  		show_error(fullname_msg, 'This field is required.');
		  		messagesend.disabled = true;
		  	}else if (fullname.value.match(/^[a-zA-Z]+$/) === null){
		  		show_error(fullname_msg, 'Invalid name (letters only).');
		  	}else{
		  		removeChildren(fullname_msg);
		  	}
		  	
		  	if (email.value.length === 0){
		  		show_error(email_msg, 'This field is required.');
		  	}else if (email.value.match(/^[a-z0-9\\-\\.\\_\\+]{1,64}\\@(?:[a-z0-9\\-\\_]+)\\.(?:[a-z]{2,4}|[a-z]{2,3}\\.[a-z]{2,3})$/) === null){
		  		show_error(email_msg, 'Invalid e-mail address.');
		  	}else{
		  		removeChildren(email_msg);
		  	}
		  	
		  	if (subject.value.length === 0){
		  		show_error(subject_msg, 'This field is required.');
		  	}else if (subject.value.match(/^[a-zA-Z]+$/) === null){
		  		show_error(subject_msg, 'Invalid name (letters only).');
		  	}else{
		  		removeChildren(subject_msg);
		  	}
		  	
		  	if (body.value.length === 0){
		  		show_error(body_msg, 'This field is required.');
		  	}else if (body.value.match(/^[a-zA-Z]+$/) === null){
		  		show_error(body_msg, 'Invalid name (letters only).');
		  	}else{
		  		removeChildren(body_msg);
		  	}	
		  	
		  	return false;
		  }
	}

I populate all of the fields with data. This doesn’t seem to work by having return true.


messagesend.onclick = function(){
		if (fullnameform === null || fullnameform ==="" || emailform === null || emailform ==="" || subjectform === null || subjectform ==="" || bodyform === null || bodyform ==="")
		  {
		  	if (fullname.value.length === 0){
		  		show_error(fullname_msg, 'This field is required.');
		  		messagesend.disabled = true;
		  	}else if (fullname.value.match(/^[a-zA-Z]+$/) === null){
		  		show_error(fullname_msg, 'Invalid name (letters only).');
		  	}else{
		  		removeChildren(fullname_msg);
		  	}
		  	
		  	if (email.value.length === 0){
		  		show_error(email_msg, 'This field is required.');
		  	}else if (email.value.match(/^[a-z0-9\\-\\.\\_\\+]{1,64}\\@(?:[a-z0-9\\-\\_]+)\\.(?:[a-z]{2,4}|[a-z]{2,3}\\.[a-z]{2,3})$/) === null){
		  		show_error(email_msg, 'Invalid e-mail address.');
		  	}else{
		  		removeChildren(email_msg);
		  	}
		  	
		  	if (subject.value.length === 0){
		  		show_error(subject_msg, 'This field is required.');
		  	}else if (subject.value.match(/^[a-zA-Z]+$/) === null){
		  		show_error(subject_msg, 'Invalid name (letters only).');
		  	}else{
		  		removeChildren(subject_msg);
		  	}
		  	
		  	if (body.value.length === 0){
		  		show_error(body_msg, 'This field is required.');
		  	}else if (body.value.match(/^[a-zA-Z]+$/) === null){
		  		show_error(body_msg, 'Invalid name (letters only).');
		  	}else{
		  		removeChildren(body_msg);
		  	}	
		  	
		  	return false;
		  }
		return true;
	}

I went through and put in the alerts like you suggested. It appears that my alert will only display once if I click on the submit button. I believe that every time I hit the submit button my alert should launch, right? See sample code below.


messagesend.onclick = function(){
		if (fullnameform === null || fullnameform ==="" || emailform === null || emailform ==="" || subjectform === null || subjectform ==="" || bodyform === null || bodyform ==="")
		  {
		  	if (fullname.value.length === 0){
		  		alert('wrong');
		  		show_error(fullname_msg, 'This field is required.');
		  		messagesend.disabled = true;
		  	}else if (fullname.value.match(/^[a-zA-Z]+$/) === null){
		  		show_error(fullname_msg, 'Invalid name (letters only).');
		  	}else{
		  		removeChildren(fullname_msg);
		  	}
		  	
		  	if (email.value.length === 0){
		  		show_error(email_msg, 'This field is required.');
		  	}else if (email.value.match(/^[a-z0-9\\-\\.\\_\\+]{1,64}\\@(?:[a-z0-9\\-\\_]+)\\.(?:[a-z]{2,4}|[a-z]{2,3}\\.[a-z]{2,3})$/) === null){
		  		show_error(email_msg, 'Invalid e-mail address.');
		  	}else{
		  		removeChildren(email_msg);
		  	}
		  	
		  	if (subject.value.length === 0){
		  		show_error(subject_msg, 'This field is required.');
		  	}else if (subject.value.match(/^[a-zA-Z]+$/) === null){
		  		show_error(subject_msg, 'Invalid name (letters only).');
		  	}else{
		  		removeChildren(subject_msg);
		  	}
		  	
		  	if (body.value.length === 0){
		  		show_error(body_msg, 'This field is required.');
		  	}else if (body.value.match(/^[a-zA-Z]+$/) === null){
		  		show_error(body_msg, 'Invalid name (letters only).');
		  	}else{
		  		removeChildren(body_msg);
		  	}	
	
		  	return false;
		  }
	}


messagesend.onclick = function(){

This assigns an anonymous function to the onclick handler of messagesend, which doesn’t appear to be an element.

You probably meant

function messagesend(){ ...

Use the error console.