国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

一個類似于Calendar日期控件,不用再刷新頁面。

2024-07-21 02:28:04
字體:
供稿:網(wǎng)友
1. 一個類似于calendar日期控件,不用再刷新頁面。
2. 判斷文本控件里的值是否能轉(zhuǎn)換成日期型。

.htc 例1:
/*
*xpmask.htc
*
*/

//------------------------------------------------------------------------------------------------------

<public:component
lightweight=false
>

<public:defaults
contenteditable=false
tabstop=true
/>

<public:attach event="ondocumentready" onevent="initcoolmask()" />
<public:attach event="ondetach" onevent="cleanupcoolmask()" />

<public:property name="masktype" value="" />
<public:property name="realvalue" value="" />
<public:property name="tooltipstr" value="" />

<script language="vbscript">


sub initcoolmask()
attachevent "onreadystatechange", getref("coolmaskinputblur")
attachevent "onfocus", getref("coolmaskinputfocus")
attachevent "onblur", getref("coolmaskinputblur")
coolmaskinputblur
end sub

sub cleanupcoolmask()
detachevent "onreadystatechange", getref("coolmaskinputblur")
detachevent "onfocus", getref("coolmaskinputfocus")
detachevent "onblur", getref("coolmaskinputblur")
end sub

sub coolmaskinputfocus()
with element
if not .realvalue = "" then .value = .realvalue
.select()
end with
end sub

sub coolmaskinputblur()
with element
select case ucase(.masktype)
case "datetime"
.realvalue = .value
.value = maskdatetime(.value)
.tooltipstr = .tooltip
case "shortdate"
.realvalue = .value
if maskdate(.value, "short") = formatdatetime("1900-1-1 0:00:00", vbshortdate) then
.value = ""
.tooltipstr = "format: yyyy-mm-dd "
else
.value = maskdate(.value, "short")
if not .realvalue = "" then
.tooltipstr = "format: "&.realvalue
else
.tooltipstr = "format: yyyy-mm-dd "
end if
end if
.title =.tooltipstr
case "mediumdate"
.realvalue = .value
.value = maskdate(.value, "medium")
case "longdate"
.realvalue = .value
.value = maskdate(.value, "long")
case "zipcode"
.realvalue = parsechar(.value, array(" ", "-"))
.value = maskzip(.value)
case "phone"
.realvalue = parsechar(.value, array(" ", "(", ")", "-", "."))
.value = maskphone(.value)
case "percent"
.realvalue = parsechar(.value, array(" ", "%"))
.value = maskpercent(.value)
case else
.realvalue = .value
end select
end with
end sub

function parsechar(sstr, schar)
dim i, zchar, snewstr
if typename(schar) = "string" then zchar = array(schar) else zchar = schar
snewstr = sstr
for i = lbound(zchar) to ubound(zchar)
snewstr = replace(snewstr, cstr(zchar(i)), "")
next
parsechar = snewstr
end function

function setviewstate(bstate)
with element
if not bstate then
.runtimestyle.color = .style.color
else
.runtimestyle.color = "red"
end if
end with
end function

function maskdate(svalue, stype)
if isnumeric(svalue) then
'svalue = parsechar(svalue, array(" ", "-", "/", ",", ".", "/", "^", "&", "*", "@", "~", "`", "'", "!", "#", "$", "%", "|", "(", ")", "+", "_", "=", ";", "?", ":", "{", "}", "[", "]", "<", ">"))
if len(svalue) = 8 then svalue = left(svalue, 4) & "-" & left(right(svalue, 4), 2) & "-" & right(right(svalue, 4), 2)
if len(svalue) = 6 then svalue = left(svalue, 4) & "-0" & left(right(svalue, 2), 1) & "-0" & right(right(svalue, 2), 1)
end if
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 = "date error"
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

function maskdatetime(svalue)
dim snewvalue
snewvalue = parsechar(svalue, array(" ", "-", "/", ",", ".", "/", "^", "&", "*", "@", "~", "`", "'", "!", "#", "$", "%", "|", "(", ")", "+", "_", "=", ";", "?", ":", "{", "}", "[", "]", "<", ">"))
if len(snewvalue) = 0 then
maskdatetime = ""
setviewstate false
elseif (len(snewvalue) <> 8 and len(snewvalue) <> 7 and len(snewvalue) <> 6) or not isnumeric(snewvalue) then
maskdatetime = "date error"
setviewstate true
else
if len(snewvalue) = 8 then snewvalue = left(snewvalue, 4) & "-" & left(right(snewvalue, 4), 2) & "-" & right(right(snewvalue, 4), 2)
if len(snewvalue) = 7 then
if isnumeric(right(svalue, 2)) then
snewvalue = left(snewvalue, 4) & "-0" & left(right(snewvalue, 3), 1) & "-" & right(right(snewvalue, 3), 2)
else
snewvalue = left(snewvalue, 4) & "-" & left(right(snewvalue, 3), 2) & "-0" & right(right(snewvalue, 3), 1)
end if
end if
if len(snewvalue) = 6 then snewvalue = left(snewvalue, 4) & "-0" & left(right(snewvalue, 2), 1) & "-0" & right(right(snewvalue, 2), 1)
if not(isdate(snewvalue)) then
maskdatetime = "date error"
setviewstate true
else
'snewvalue = parsechar(snewvalue, array(" ", "-", "/", ",", "."))
maskdatetime = formatdatetime(snewvalue, 2)
setviewstate false
end if
end if
end function

function maskzip(svalue)
dim snewvalue
snewvalue = parsechar(svalue, array(" ", "-"))
if len(snewvalue) = 0 then
maskzip = ""
setviewstate false
elseif (len(snewvalue) <> 5 and len(snewvalue) <> 9) or not isnumeric(snewvalue) then
maskzip = "zipcode error"
setviewstate true
else
if len(snewvalue) = 9 then snewvalue = left(snewvalue, 5) & "-" & right(snewvalue, 4)
maskzip = snewvalue
setviewstate false
end if
end function

function maskphone(svalue)
dim snewvalue
snewvalue = parsechar(svalue, array(" ", "(", ")", "-", "."))
if len(snewvalue) = 0 then
maskphone = ""
setviewstate false
elseif (len(snewvalue) <> 7 and len(snewvalue) <> 10) or not isnumeric(snewvalue) then
maskphone = "phone error"
setviewstate true
else
select case len(snewvalue)
case 7
maskphone = left(snewvalue, 3) & "-" & right(snewvalue, 4)
case 10
maskphone = "(" & left(snewvalue, 3) & ") " & mid(snewvalue, 4, 3) & "-" & right(snewvalue, 4)
end select
setviewstate false
end if
end function

function maskpercent(svalue)
dim snewvalue
snewvalue = parsechar(svalue, array(" ", "%"))
if len(snewvalue) = 0 then
maskpercent = ""
setviewstate false
else
on error resume next
err.clear
maskpercent = formatpercent(snewvalue)
if err.number = 13 then
on error goto 0
maskpercent = "percent error"
setviewstate true
exit function
end if
on error goto 0
setviewstate false
end if
end function

</script>

</public:component>


//------------------------------------------------------------------------------------------------------

.css 例1:
/*
*xptext.css
*
*/

.coolmask
{
font-size: 10pt;
behavior: url(../htc/coolmask.htc);
font-family: verdana, arial, helvetica;
}

//------------------------------------------------------------------------------------------------------

頁面調(diào)用:

<asp:textbox id="birthday" cssclass="coolmask" ondblclick="javascript: setday(this);" masktype="shortdate" runat="server" width="106px"></asp:textbox>

注意:
cssclass="coolmask" 這個不用說了,大家都知道是什么
ondblclick="javascript: setday(this);" 這是雙激事件
masktype="shortdate" masktype屬性在coolwindowscalendar.js中文定義了,
masktype屬性類型一共有如下幾種:
datetime :日期
shortdate :日期
mediumdate :日期
longdate :日期
phone :電話號碼
percent :百分數(shù)

realvalue="" : realvalue屬性在coolwindowscalendar.js中文定義了,
realvalue : 用來保存當前值,( element.realvalue = textbox.value)

tooltipstr : tooltipstr 屬性在coolwindowscalendar.js中文定義了,
tooltipstr : 用來顯示格式, 就是title提示框,

查看地址:http://print.itgaga.org/printerp/ordermanage/bus_invoice_eframe.aspx(填寫日期)

源代碼:data.rar


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 五原县| 双峰县| 运城市| 中卫市| 宁陕县| 偃师市| 磐安县| 宜昌市| 焉耆| 海盐县| 清镇市| 修文县| 临朐县| 宁安市| 健康| 灵武市| 惠安县| 东丰县| 青浦区| 工布江达县| 安平县| 华池县| 慈溪市| 开江县| 左权县| 离岛区| 望都县| 车险| 繁峙县| 绥滨县| 长葛市| 上饶市| 浮梁县| 偏关县| 陇川县| 十堰市| 灌阳县| 景泰县| 湖州市| 喀喇沁旗| 报价|