[討論]表單的必填欄位(整理)
基本上大概的問題都解決了,(光測試就一個上午過去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: q9804.tommy@msa.hinet.net
@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)
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章