职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 1238|回复: 0

网页设计:Javascript实现的自动验证函数实例

[复制链接]
木已 发表于 2007-8-13 10:27 | 显示全部楼层 |阅读模式
test.htm
1<!-- #include file=\"message.inc\" -->
2<HTML>
3<HEAD>
4<TITLE> New Document </TITLE>
5  <meta http-equiv=\"content-type\" content=\"text/html; charset=shift_jis\" />
6  <meta http-equiv=\"pragma\" content=\"no-cache\">
7  <meta http-equiv=\"cache-control\" content=\"no-cache\">
8  <meta http-equiv=\"expires\" content=\"0\">
9<script src=\"common.js\"></script>
10<script src=\"validate.js\"></script>
11
12</HEAD>
13
14<BODY>
15<FORM METHOD=POST ACTION=\"\">
16ID<INPUT TYPE=\"text\" id=\"txtInt\" NAME=\"txtInt\" maxlength=\"6\" feildtype=\"integer\" msg=\",<%=IMSG0002%>\" ><br>
17ID<INPUT TYPE=\"text\" id=\"txtInt\" NAME=\"txtInt\" maxlength=\"6\" feildtype=\"integer\" msg=\",<%=IMSG0002%>\" ><br>
18ID<INPUT TYPE=\"text\" id=\"txtInt\" NAME=\"txtInt\" maxlength=\"6\" feildtype=\"integer\" msg=\",<%=IMSG0002%>\" ><br>
19ID<INPUT TYPE=\"text\" id=\"txtInt\" NAME=\"txtInt\" maxlength=\"6\" feildtype=\"integer\" msg=\",<%=IMSG0002%>\" ><br>
20
21名称<INPUT TYPE=\"text\" id=\"txtString\" NAME=\"txtString\" maxlength=\"5\" feildtype=\"string\" msg=\"<%=IMSG0003%>,<%=IMSG0004%>\" mustitem=\"true\"><br>
22名称<INPUT TYPE=\"text\" id=\"txtString\" NAME=\"txtString\" maxlength=\"5\" feildtype=\"string\" msg=\"<%=IMSG0003%>,<%=IMSG0004%>\" mustitem=\"true\"><br>
23名称<INPUT TYPE=\"text\" id=\"txtString\" NAME=\"txtString\" maxlength=\"5\" feildtype=\"string\" msg=\"<%=IMSG0003%>,<%=IMSG0004%>\" mustitem=\"true\"><br>

24
25名称2<INPUT TYPE=\"text\" id=\"txtStr\" NAME=\"txtStr\" maxlength=\"5\" feildtype=\"string\" msg=\"<%=IMSG0003%>,<%=IMSG0004%>\" mustitem=\"true\"><br>
26<INPUT TYPE=\"button\" value=\"submit\" onclick=\"validate(); return false;\">
27<SCRIPT LANGUAGE=\"javascript\">
28<!--
29//validate()
30//-->
31</SCRIPT>
32</FORM>
33</BODY>
34</HTML>
35validate.js
1function validate(){
2
3  //var objs = document.all;
4  //var Elements = document.getElementsByTagName(\"*\");
5  var Elements;
6  var ctlArray;
7  var ctlArrayName;
8  var i, j;
9  var elLen, arrLen;
10  var msgs;
11
12  Elements = document.getElementsByTagName(\"input\");
13  arrName =\"\";
14
15  for ( i in Elements ) {
16  elLen = Elements.length;
17
18    if (elLen > 1) {
19      ctlArray = Elements;
20      arrLen = ctlArray.length;
21
22      if (arrName != ctlArray[0].name) {
23        arrName = ctlArray[0].name;
24
25        for (j=0; j < arrLen; j++) {
26          if (checkValue(ctlArray[j]) == false) {
27            return false;
28          }
29        }
30
31      }
32
33    }else{
34
35      if (checkValue(Elements) == false) {
36        return false;
37      }
38    }
39  }
40
41  return true;
42}
43
44function checkValue (obj){
45
46  var len;
47  len = obj.maxLength;
48
49  if ( obj.type == \"text\" ) {
50
51    //if (obj.msg != undefined ) {
52    if ( obj.msg ) {
53      msgs = obj.msg.split(\",\");
54    } else {
55      return true;
56    }
57
58    if ( trim(obj.value) == \"\" && obj.mustitem && obj.mustitem == \"true\") {
59      alert(msgs[0]);
60      getFocusSelect(obj);
61      return false;
62    }else {
63
64      if ( trim(obj.value) != \"\"&& obj.feildtype && obj.feildtype == \"integer\" ) {
65
66        if ( checkNumLen(obj.value, len) == false ) {
67          alert(msgs[1]);
68          getFocusSelect(obj);
69          return false;
70        }
71
72      } else if ( trim(obj.value) != \"\" && obj.feildtype && obj.feildtype == \"string\" ) {
73
74        if ( getLenthByByte(trim(obj.value)) > len){
75          alert(msgs[1]);
76          getFocusSelect(obj);
77          return false;
78        }
79      }
80    }
81  }
82
83}message.inc
1<%
2Const IMSG0001 = \"ID必须输入!\"
3Const IMSG0002 = \"ID输入格式错误!\"
4Const IMSG0003 = \"名称必须输入!\"
5Const IMSG0004 = \"名称输入格式错误!\"
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-5-5 01:17 , Processed in 0.129361 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表