碼輸入是一種常用的控制項,我記得第一次看見這種控制項是在visual foxpro中!感覺功能強,不錯。現在用c#開發asp.net應用程式也需要用到這種輸入的控制項,便琢磨著自己做乙個。但是由於visual foxpro中的掩碼文字框功能太強了,一時還不敢去做。網上也有一些自製的如:但是感覺功能都不很適合。後來在上看到了他們做的掩碼文字框,感覺這種方式在web應用上很適合,就把客戶端**down下來了!(stedy software 作的是產品,要花錢!而且很貴79.99usd,ft。)
分析了一下stedy的客戶端指令碼(vbscript)他們為每一種掩碼規則都作了乙個客戶端的方法。如下面是日期掩碼格式化的客戶端指令碼**:
function maskdate(svalue, stype)
dim zmonth
zmonth = array("january", "february", "march", "april", "may", "june", "july", "august", "september", "october", "november", "december")
if len(trim(svalue)) = 0 then
maskdate = ""
setviewstate false
elseif not(isdate(svalue)) then
maskdate = "# invalid date entered #"
setviewstate true
else
select case (stype)
case "medium"
maskdate = day(datevalue(svalue)) & "-" & left(zmonth(month(datevalue(svalue)) - 1), 3) & "-" & year(datevalue(svalue))
case "long"
maskdate = zmonth(month(datevalue(svalue)) - 1) & " " & day(datevalue(svalue)) & ", " & year(datevalue(svalue))
case else
maskdate = formatdatetime(svalue, vbshortdate)
end select
setviewstate false
end if
end function
可以看到處理方式是將文字框中的字串格式化,如果格式化成功則顯示為格式化後的字串,否則顯示"# invalid date entered"。其他的方法與之類似,像maskcurrency, maskssn什麼的。
masktextbox客戶端有兩個自定義屬性
第乙個是掩碼格式,第二個是文字框真實值,如:¥30.00真實值為:30.00。
目前遇到的問題有乙個:
客戶端的文字框如何才能回傳給伺服器上面所說的兩個屬性?
想了半天,覺著還是用乙個hidden型別的控制項儲存掩碼文字框的真實值。這樣回傳給伺服器的時候就能通過對應的hidden控制項的value屬性取得真實值!
c# **片段如下:
protected override void render(htmltextwriter output)
文字框輸入限制
1.文字框只能輸入數字 小數點也不能輸入 2.只能輸入數字,能輸小數點.3.數字和小數點方法二 4.只能輸入字母和漢字 5.只能輸入英文本母和數字,不能輸入中文 6.只能輸入數字和英文chun 7.小數點後只能有最多兩位 數字,中文都可輸入 不能輸入字母和運算符號 57 event.keycode ...
禁止文字框輸入
如下 readonly disabled autocomplete readonly表示此域的值不可修改,僅可與 type text 配合使用,可複製,可選擇,可以接收焦點,後台會接收到傳值.如下 disabled表示禁用input元素,不可編輯,不可複製,不可選擇,不能接收焦點,後台也不會接收到傳...
禁止文字框輸入
如下 readonly disabled autocomplete readonly表示此域的值不可修改,僅可與 type text 配合使用,可複製,可選擇,可以接收焦點,後台會接收到傳值.如下 type text name www.readonly readonly disabled表示禁用in...