byadmin 發表於 2014-11-14 11:35:50
, 5793人已閱讀 , 4人回應
有時候在撰寫一些表格驗證的時候,較多情況為了簡易快速都是直接針對送出按鈕執行JS驗證判斷 , 但若用戶是使用Enter 提交表單時 , 可以發現會跳過驗證直接通過,因此為了避免這種情況 , 治本的做法就是不要將驗證執行寫在送出按鈕上 , 而是寫在送出流程上 , 即送出表單後檢查不通過返回 , 這種做法是最好的 , 但也可用治標的方式就是不讓用戶使用Enter鍵 , 可以參考以下寫法:
其中 event.keyCode==13 可以對照下列表格 , 應用在禁止其他按鍵上。
趕緊試試吧 ~
備註:很多JS效果都是防不懂的人, 只要關閉瀏覽器JS , 什麼驗證都可以直接跳過 , 所以即使你這樣寫了, 若還是有發現有些人可以亂填表單 , 不用覺得太意外 ! 除非用文中所提到的治本的方式撰寫。
[h2]keycode對照表[/h2]
keycode 8 = BackSpace 回格
keycode 9 = Tab
keycode 12 = Clear
keycode 13 = Enter 回車
keycode 16 = Shift_L
keycode 17 = Control_L
keycode 18 = Alt_L
keycode 19 = Pause
keycode 20 = Caps_Lock
keycode 27 = Escape
keycode 32 = space
keycode 33 = Prior
keycode 34 = Next
keycode 35 = End
keycode 36 = Home
keycode 37 = Left
keycode 38 = Up
keycode 39 = Right
keycode 40 = Down
keycode 41 = Select
keycode 42 = Print
keycode 43 = Execute
keycode 45 = Insert
keycode 46 = Delete
keycode 47 = Help
keycode 48 = 0 equal braceright
keycode 49 = 1 exclam onesuperior
keycode 50 = 2 quotedbl twosuperior
keycode 51 = 3 section threesuperior
keycode 52 = 4 dollar
keycode 53 = 5 percent
keycode 54 = 6 ampersand
keycode 55 = 7 slash braceleft
keycode 56 = 8 parenleft bracketleft
keycode 57 = 9 parenright bracketright
keycode 65 = a A
keycode 66 = b B
keycode 67 = c C
keycode 68 = d D
keycode 69 = e E EuroSign
keycode 70 = f F
keycode 71 = g G
keycode 72 = h H
keycode 73 = i I
keycode 74 = j J
keycode 75 = k K
keycode 76 = l L
keycode 77 = m M mu
keycode 78 = n N
keycode 79 = o O
keycode 80 = p P
keycode 81 = q Q at
keycode 82 = r R
keycode 83 = s S
keycode 84 = t T
keycode 85 = u U
keycode 86 = v V
keycode 87 = w W
|
|