[討論]表單的必填欄位(整理)

看板Ajax作者 (骨頭)時間17年前 (2007/02/28 13:42), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
基本上大概的問題都解決了,(光測試就一個上午過去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)
文章代碼(AID): #15vHOoON (Ajax)
文章代碼(AID): #15vHOoON (Ajax)