Solved

JavaScript Function

Posted on 2009-05-14
1
503 Views
Last Modified: 2013-11-19
I am receving errors on the checks for Age and Weight in my userinfo.js file
I have put both my userinfo.html and userinfo.js in the code below.
<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml11.dtd">
 

<!-- userinfo.html    a document for userinfo.js

      -->
 

<html xmlns = "http://www.w3.org/1999/xhtml">

   <head>

      <title> Illustrates form Input Validation </title>

      <script type = "text/javascript" src = "userinfo.js" >

      </script>

   </head>

   <body>

   <h3> Customer Information </h3>

   <form action = "">
 

   	<p>

   		<label>

   			<input type = "text" id = "custName" />

   			Name (last name, first name, middle initial)

   		</label>

   		<br /><br />
 
 

   		<label>

   			<input type = "text" id = "phone" />

   			Phone number (ddd-ddd-dddd)

   		</label>

   		<br /><br />
 
 

   		<label>

   			<input type = "text" id = "custAge" />

   			Age (Must be 18 or older)

   			</label>

   			<br /><br />
 
 

   		<label>

   			<input type = "text" id = "custWeight" />

   			Weight (Must be between 80-300)

   			</label>

   			<br /><br />
 
 
 
 

   		<input type = "reset" id = "reset" />
 

   		<input type = "submit" id = "submit" />

   	</p>

   </form>
 

   <!-- An inline script for the event handler registrations -->

   		<script type = "text/javascript">

   		   <!--

   // Set form element object properties to their

   // corresponding event handler functions
 
 

   		document.getElementById("custName").onchange = chkName;

   		document.getElementById("phone").onchange = chkPhone;

   		document.getElementById("custAge").onchange = chkAge;

   		document.getElementById("custWeight").onchange = chkWeight;

   // -->
 

    </script>
 

   </body>

</html>
 
 
 

// userinfo.js

// an example of input validation using the change and submit events

 

// The event handler function for the name text box

 

function chkName() {

	var myName = document.getElementById("custName");

	

	// Test the format of the input name

	// Allow the spaces after the commas to be optional

	// Allow the period after the inital to be optional

		var pos = myName.value.search(

			/^[A-Z][a-z]+, ?[A-Z][a-z]+, ?[A-Z]\.?$/);

		if (pos != 0) {

			alert("The name you entered (" + myName.value +

				") is not in the correct form. \n" +

				"The correct form is: " +

				"last-name, first-name, middle-intial \n" +

				"Please go back and fix your name");

		myName.focus();

		myName.select();

		return false;

		} else

		  return true;

	}

	

	// The event handler function for the phone number text box

	

function chkPhone() {

	var myPhone = document.getElementById("phone");

		

	  // Test the format of the input phone number

		var pos = myPhone.value.search(/^\d{3}-\d{3}-\d{4}$/);

		if (pos != 0) {

			alert("The phone number you entered (" + myPhone.value +

			") is not in the correct form. \n" +

			"The correct format is ddd-ddd-dddd \n" +

			"Please go back and fix your phone number");

		myPhone.focus();

		myPhone.select();

		return false;

		} else

		  return true;

		}

		

		

// The event handler function for checking the age

	

function chkAge() {

	var myAge = document.getElementById("custAge");

	

	//Test the format

	var pos = myAge.value.search();

	if (pos < 18)	{

		alert("The age you entered (" + myAge.value + 

		") is not in the correct form. \n" +

		"The correct format is 18 years and older \n" +

		"Please go back and fix your age");

		myAge.focus();

		myAge.select()

		return false;

		

	} else

	return true;

}
 
 

// Checking the Weight for correct format
 

function chkWeight() {

	var myWeight = document.getElementById("custWeight");

	

	// test format

	var pos = myWeight.value.search();

	if (80 > pos > 300)	{

		alert("The weight you entered (" + myWeight.value +

		") is not in the correct form. \n" +

		"The correct format is between 80-300. \n" +

		"Please go back and fix your weight");

		myWeight.focus();

		myWeight.select()

		return false;

		} else

		return true;

	}

Open in new window

0
Comment
Question by:ChadAnglin
1 Comment
 
LVL 9

Accepted Solution

by:
ftaco96 earned 250 total points
ID: 24385991
1) You don't need the .search() to get the values from the textboxes
2) You should use an or ("||") to test weight values ......  if (80 > pos || pos > 300) {


function chkAge() {
      var myAge = document.getElementById("custAge");

      //Test the format
      var pos = myAge.value;
      if (pos < 18)      {



// Checking the Weight for correct format

function chkWeight() {
      var myWeight = document.getElementById("custWeight");

      // test format
      var pos = myWeight.value;
      if (80 > pos || pos > 300)      {
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

I found this questions asking how to do this in many different forums, so I will describe here how to implement a solution using PHP and AJAX. The logical flow for the problem should be: Write an event handler for the first drop down box to get …
Browsers only know CSS so your awesome SASS code needs to be translated into normal CSS. Here I'll try to explain what you should aim for in order to take full advantage of SASS.
In this tutorial viewers will learn how to style a corner ribbon overlay for an image using CSS Create a new class by typing ".Ribbon":  Define the class' "display:" as "inline-block": Define its "position:" as "relative": Define its "overflow:" as …
The viewer will learn how to count occurrences of each item in an array.

912 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

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now