Learn how to Make Money Online doing freelancing, Affiliate Marketing, Blogging and many more ...
Go4Expert
Go4Expert RSS Feed

Go Back   Programming and SEO Forum >  Go4Expert > Articles / Source Code > Web Development > HTML/DHTML - JavaScript/VBScript

Discuss / Comment  Copy HTML to Clipboard  Copy BBCode to Clipboard  | More
 
Bookmarks Article Tools Search this Article Display Modes

JavaScript Triggers


On 1st October, 2005
Talking JavaScript Triggers

Show Printable Version Email this Page Subscription Add to Favorites Copy JavaScript Triggers link

Author

pradeep ( Team Leader )

Yet to provide details about himself


All articles By pradeep

Recent Articles

Similar Articles

Whenever we write form validation scripts, we usually have to write some code for each of the form elements we have to validate, wouldn't it have been better if we had a generic class which would check the form elements based on a few parameters.This is where JavaScript Triggers come into being, here is an example:
Assume that we have a form consisting of 2 text fields and 1 dropdown select boxes.One test field needs to have only numbers and all others have to filled in or selected.
Here is the HTML for the form:

HTML Code:
<html>
 JavaScript Triggers<head>
 <body>
 <form name="jt" method="post">
 Name: <input type="text" name="nm">
 
 Phone: <input type="text" name="ph">
 
 Age: <select name="age">
 	<option value="none">Select One
 	<option value="18-25">18-25 yrs
 	<option	value="25+">Above 25 yrs
 	 </select>
 
 <input type="submit">
 </body>
 </html>
To use this with JavaScript triggers, we must make a few modifications, here is the modified HTML:


HTML Code:
<html>
 JavaScript Triggers<head>
 <body>
 <form name="jt" method="post">
 Name: <input type="text" name="nm" required=true text="Name">
 
 Phone: <input type="text" name="ph" require=true text="Phone Number" numbers=true>
 
 Age: <select name="age" required=true text="Age">
 	<option value="none">Select One
 	<option value="18-25">18-25 yrs
 	<option	value="25+">Above 25 yrs
 	 </select>
 
 <input type="submit">
 </body>
 </html>
I added the attribute "required=true" so that javascript can understand that the value for this field is required.

The javascript:

Code: JavaScript
function ValidateForm(oForm)
 {
    var e = oForm.elements;
    for(var i=0;i<e.length;i++)
    {
       if(e[i].type == "text" && e[i].getAttribute("numbers"))
       {
          e[i].onkeypress=function(e)
          {
             var l = this.getAttribute("numbers");
             e=window.event || e;
             keyCode=e.keyCode;
             if(parseInt(l))
             {
          if((keyCode>47 && keyCode<58) && this.value.length
                   return true;
             }
             else
             {
                  if(keyCode>47 && keyCode<58)
                   return true;
             }
             return false;
          };
       }
    }
 
    oForm.onsubmit=function()
    {
       for(var i=0;i<e.length;i++)
       {
       if(e[i].type=="text" && e[i].getAttribute("required") && e[i].value.length<1)
          {
          alert("You cannot leave "+e[i].getAttribute("text")+" field blank");
             return false;
          }
           else if(e[i].type="select-one" && e[i].getAttribute("required"))
          {
          alert("You have to select an option for "+e[i].getAttribute("text"));
             return false;
          }
       }
       return true;
    }
 }
A Sample implementation:

HTML Code:
<html>
 JavaScript Triggers<head>
 <script language="JavaScript">
 function ValidateForm(oForm)
 {
 	var e = oForm.elements; 
 	for(var i=0;i<e.length;i++)
 	{
 		if(e[i].type == "text" && e[i].getAttribute("numbers"))
 		{
 			e[i].onkeypress=function(e)
 			{
 				var l = this.getAttribute("numbers");
 				e=window.event || e;
 				keyCode=e.keyCode;
 				if(parseInt(l))
 				{
 		 	if((keyCode>47 && keyCode<58) && this.value.length
 						return true;
 				}
 				else
 				{
     		    	if(keyCode>47 && keyCode<58)
 						return true;
 				}
 				return false;
 			};
 		}
 	}
 
 	oForm.onsubmit=function()
 	{
 		for(var i=0;i<e.length;i++)
 		{
 		if(e[i].type=="text" && e[i].getAttribute("required") && e[i].value.length<1)
 			{
 			alert("You cannot leave "+e[i].getAttribute("text")+" field blank");
 				return false;
 			}
     		else if(e[i].type="select-one" && e[i].getAttribute("required"))
 			{
 			alert("You have to select an option for "+e[i].getAttribute("text"));
 				return false;
 			}
 		}
 		return true;
 	}
 }
 
 window.onload=function()
 {
     new ValidateForm(document.forms["jt"]); //constructor for the form
 }
 </script>
 </head>
 <body>
 <form name="jt" method="post">
 Name: <input type="text" name="nm" required=true text="Name">
 
 Phone: <input type="text" name="ph" require=true text="Phone Number" numbers=true>
 
 Age: <select name="age" required=true text="Age">
     <option value="none">Select One
     <option value="18-25">18-25 yrs
     <option    value="25+">Above 25 yrs
      </select>
 
 <input type="submit">
 </body>
 </html>
This helps in code re-use & implementing the same code for multiple forms. This is just for basic validation, you can surely enhance the idea.
Happy re-coding!
Discuss / Comment  Copy HTML to Clipboard  Copy BBCode to Clipboard  | More


Currently Active Users Reading This Article: 1 (0 members and 1 guests)
 
Article Tools Search this Article
Search this Article:

Advanced Search
Display Modes
Bookmarks

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off

Similar Threads / Articles
Thread Thread Starter Forum Replies Last Post
Form validation with PHP & JavaScript pradeep PHP 19 07-18-2010 09:52 PM
Auto Suggest with Javascript pradeep HTML/DHTML - JavaScript/VBScript 35 05-12-2010 10:16 AM
Timer In JavaScript pradeep HTML/DHTML - JavaScript/VBScript 4 06-18-2009 04:06 PM
Connecting MySQL with Javascript Mike HTML/DHTML/CSS -JavaScript/VBScript 5 12-01-2007 08:29 AM

 

All times are GMT +5.5. The time now is 05:27 AM.