Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 375
  • Last Modified:

Javascript Form Validation

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
Mohit_t
Asked:
Mohit_t
1 Solution
 
leakim971PluritechnicianCommented:
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
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now