Solved

Javascript Form Validation

Posted on 2013-06-21
1
365 Views
Last Modified: 2013-11-19
Hi,
I have a javascript for doing some form validation on form submit. when I submit the form for the first time it does all the form validation and pops up an alert, and comes back on the same form, however if I click on the submit form again nothing happens, the form does not submit, unless I reload the form. Below is the JS code, appreciate if someone can help me figure out what is wrong, I have to call location.reload to make this work, which refreshes the page and the user has to enter all the data again
function validateForm(){

		var rptdPos = document.getElementById('input_21').value;
		var NPos = document.getElementById('input_20').value;
		var bScore = document.getElementById('input_24').value;
		var bSupport = document.getElementById('input_25').value;
		var excludeInfo = document.getElementById('input_62').value;
		var exReason = document.getElementById('input_63').value;
	
		if(excludeInfo == 'Y' &&  exReason == ''){
			alert("Exclusion reason is required to be entered");
			location.reload();
			return false;
		}
		if(excludeInfo == 'N'){
			if((resinPlace == 'Y') &&((resType0 == '' && resType1 == '' && resType2 == '') || (resJustification0 == '' & resJustification1 == '' && resJustification2 == '' && resJustification3 == '' && resJustification4 == '') || resCat == '')){
				alert("Please enter values for Type,Category and Justfy");
				location.reload();
				return false;
			}
			if((bScore == '1' || bScore == '2' || bScore == '3') && bSupport == ''){
				alert("Please enter a value for BSupport");
				location.reload();
				return false;
			}
		}
		return true;
		//alert("reached end of javascript");
		
}

Open in new window

Calling the above javascript in my php form as below
<form class="Cform" action="submitPatientInfo.php"  onSubmit="return validateForm()" method="post" name="form_31" id="31" accept-charset="utf-8">

Open in new window

Also I have two buttons in the form Submit and Cancel, the javascript validation is called even if I hit the Cancel button, I want to call the validation JS only for Submit button and not Cancel button, the submit buttons are
<input type="submit" value="Submit Survey for Patient" name="submitPatient" class="form-submit-button form-submit-button-blue" />
<input type="submit" id = "input_2013" value="Cancel - Do not save" name="Return" class="form-submit-button form-submit-button-simple_red" />

Open in new window

0
Comment
Question by:Mohit_t
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
1 Comment
 
LVL 82

Accepted Solution

by:
leakim971 earned 500 total points
ID: 39267995
You've an error inside your validateForm function
So it run the first time, throw an error and stop working
so when you try the second time the function is not valid and don't run

A simple test page here work for me : http://jsfiddle.net/SMGFE/1/
Please note I define some global variable I did not saw in your current code :
var resinPlace = "Y";
var resType0 = "";
var resType1 = "";
var resType2 = "";
var resJustification0 = "";
var resJustification1 = "";
var resJustification2 = "";
var resJustification3 = "";
var resJustification4 = "";
var resCar = "";

Open in new window


Are you sure to have them?
Could you provide a link to see your page?
If not, start from the test page until your update fail
0

Featured Post

Why Off-Site Backups Are The Only Way To Go

You are probably backing up your data—but how and where? Ransomware is on the rise and there are variants that specifically target backups. Read on to discover why off-site is the way to go.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Learn by example how to specify CSS selectors for Selenium WebDriver test automation software.
Today, the web development industry is booming, and many people consider it to be their vocation. The question you may be asking yourself is – how do I become a web developer?
Viewers will get an overview of the benefits and risks of using Bitcoin to accept payments. What Bitcoin is: Legality: Risks: Benefits: Which businesses are best suited?: Other things you should know: How to get started:
The viewer will learn how to count occurrences of each item in an array.

691 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question