作者TonyQ (骨头)
看板Ajax
标题[讨论]表单的必填栏位(整理)
时间Wed Feb 28 13:42:08 2007
基本上大概的问题都解决了,(光测试就一个上午过去orz)
http://tony1223.no-ip.info:81/mylib/tony1223_form_check_source.rar
这里有一个简单的demo网页可供实作参考
http://tony1223.no-ip.info:81/mylib/demo.asp
现在checkNode和alert已经分离了,
有需要更动alert方式可在travel的部份修改,
或者直接更动alertErrorMsg里面的内容。^_<
btw IE对getElementsByTagName的实做很机车,
早上耗了两小时在这上面...
底下是边写边整理的一些简单的文件,也欢迎有同好能互相讨论。^^
话说 是时候该来研究怎麽像dojo那样写在一个Object底下了...
不然这样写一写还要担心和其他函数冲名. orz
────────────────────────────────
@Author Tony1223(骨头)
@联络方式: Ptt:TonyQ
yzu:Tony1223
wretch:TonyQ 等BBS站内信箱
msn:
[email protected]
@Date: 20070227
@lastModify:20070228 13:23
@version: v1.2
@目标:透过自订属性达成表单必填栏位检核,
减少javascript程式码的撰写,也将页面设计与程序设计做一定程度的分离
。
@环境:适用Browser 实测适用IE & FF。
@使用的自订属性一共有三个。
mark(必填) , colname(可免填) , rule(可免填) (只是用底下a、d系列)
@mark : 用来标记此element为必填项目
@colname:在此项目填写时,可用来作为提示讯息。
@rule : 支援正则表示式之字串规格验证
@适用目标:
input tag系列: (a) text password file hidden
(b)checkbox radio
(c)SELECT
(d)Textarea
a类别是属於 value比对类。如果没有输入rule则trim後比对空白。
b类别属於群组确认内。撷取目标的name属性进行getElementByNames,
取得的群组中只要有一个属於checked ,就算通过验证。
c类别是验证下拉式选单是否停在第一个选项
d类别同a类
@自订函数介绍
回传型态 名称
#T/F travel()
检测所有input、Select、Textarea中有自订mark属性的元件是否符合规则。
#T/F hasAttribute(node#Object,attr#String)
检测 node元件中是否有attr属性
#String getAttribute(node#Object,attr#String)
取得 node元件中的 attr属性
#Object getElementsByName_iefix(tag#String,
取得tag标签中所有名为nodename的元件
nodename#String)
#T/F checkNode(nodeId#String)
检查id为nodeId的node是否合乎规则
#T/F match(str#String,pattern#String)
检查字串str是否符合pattern规则 , 采用正则表示式(regex).
#String trim(str#String)
将字串去除前後多余空白
#void alertErrorMsg(nodeId#String)
将nodeId的错误讯息提示出来
--
String temp="relax"; | Life just like programing
while(buringlife) String.forgot(temp); | to be right or wrong
while(sleeping) brain.setMemoryOut(); | need not to say
stack.push(life.running); | the complier will
stack.push(scouting.buck()); | answer your life
stack.push(bowling.practice()); | Bone
everything
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.134.27.68
※ 编辑: TonyQ 来自: 220.134.27.68 (02/28 13:51)
※ 编辑: TonyQ 来自: 220.134.27.68 (02/28 14:24)
※ 编辑: TonyQ 来自: 221.169.78.140 (09/19 01:20)