<!-- This example is from the book _JavaScript: The Definitive Guide_. --> <!-- Written by David Flanagan. Copyright (c) 1996 O'Reilly & Associates. --> <!-- This example is provided WITHOUT WARRANTY either expressed or implied.--> <!-- You may study, use, modify, and distribute it for any purpose. --> <SCRIPT LANGUAGE="JavaScript1.1"> // A utility function that returns true if a string contains only // whitespace characters. function isblank(s) { for(var i =index.html 0; i < s.length; i++) { var c =index.html s.charAt(i); if ((c != ' ') && (c != '\n') && (c != '\t')) return false; } return true; } // This is the function that performs form verification. It will be invoked // from the onSubmit() event handler. The handler should return whatever // value this function returns. function verify(f) { var msg; var empty_fields = ""; var errors = ""; // Loop through the elements of the form, looking for all // text and textarea elements that don't have an "optional" property // defined. Then, check for fields that are empty and make a list of them. // Also, if any of these elements have a "min" or a "max" property defined, // then verify that they are numbers and that they are in the right range. // Put together error messages for fields that are wrong. for(var i = 0; i < f.length; i++) { var e =index.html f.elements[i]; if (((e.type == "text") || (e.type == "textarea")) && !e.optional) { // first check if the field is empty if ((e.value == null) || (e.value == "") || isblank(e.value)) { empty_fields += "\n " + e.name; continue; } // Now check for fields that are supposed to be numeric. if (e.numeric || (e.min != null) || (e.max != null)) { var v = parseFloat(e.value); if (isNaN(v) || ((e.min != null) && (v < e.min)) || ((e.max !=index.html null) && (v > e.max))) { errors += "- The field " + e.name + " must be a number"; if (e.min != null) errors += " that is greater than " + e.min; if (e.max != null && e.min != null) errors += " and less than " + e.max; else if (e.max != null) errors += " that is less than " + e.max; errors += ".\n"; } } } } // Now, if there were any errors, then display the messages, and // return true to prevent the form from being submitted. Otherwise // return false if (!empty_fields && !errors) return true; msg = "______________________________________________________\n\n" msg += "The form was not submitted because of the following error(s).\n"; msg += "Please correct these error(s) and re-submit.\n"; msg += "______________________________________________________\n\n" if (empty_fields) { msg += "- The following required field(s) are empty:" + empty_fields + "\n"; if (errors) msg += "\n"; } msg += errors; alert(msg); return false; } </SCRIPT> <!------------------------------------------------------------------------ Here's a sample form to test our verification with. Note that we call verify() from the onSubmit() event handler, and return whatever value it returns. Also note that we use the onSubmit() handler as an opportunity to set properties on the form objects that verify() will use in the verification process --------------------------------------------------------------------------> <FORM onSubmit=" this.firstname.optional =index.html true; this.phonenumber.optional = true; this.zip.min = 0; this.zip.max = 99999; return verify(this); "> First name: <INPUT TYPE=text NAME="firstname"> Last name: <INPUT TYPE=text NAME="lastname"><BR> Address:<BR><TEXTAREA NAME="address" ROWS=4 COLS=40></TEXTAREA><BR> Zip Code: <INPUT TYPE=text NAME="zip"><BR> Phone Number: <INPUT TYPE=text NAME="phonenumber"><BR> <INPUT TYPE=submit> </FORM>
file: /Techref/language/java/script/definitive/examples/17.2.txt, 4KB, , updated: 1997/4/4 11:59, local time: 2024/8/22 22:22,
3.146.152.196:LOG IN
|
©2024 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions? <A HREF="http://piclist.com/tecHREF/language/java/script/definitive/examples/17.2.txt"> language java script definitive examples 17</A> |
Did you find what you needed? |
![]() o List host: MIT, Site host massmind.org, Top posters @none found - Page Editors: James Newton, David Cary, and YOU! * Roman Black of Black Robotics donates from sales of Linistep stepper controller kits. * Ashley Roll of Digital Nemesis donates from sales of RCL-1 RS232 to TTL converters. * Monthly Subscribers: Gregg Rew. on-going support is MOST appreciated! * Contributors: Richard Seriani, Sr. |
Welcome to piclist.com! |
.