str += "<input type=\"text\" name=\""+forobj+"\" id=\""+forobj+"\" value=\""+this.getnowtime()+"\" style=\"display:''\">"//开发时一般要将此处的style设为display:'none'
str += "</td>"
str += "</tr>"
str += "</table>"
return str;
}
this.getnowtime=function(){
var objdate = new date();
return this.formattime(objdate.gethours())+":"+
this.formattime(objdate.getminutes())+":"+
this.formattime(objdate.getseconds());
}
this.play = function() {
this.timer = setinterval(this.name+".playback()",1000);
}
this.formattime = function(stime) {
stime = ("0"+stime);
return stime.substr(stime.length-2);
}
this.playback = function() {
var objdate = new date();
var arrdate = [objdate.gethours(),objdate.getminutes(),objdate.getseconds()];
var objminute = document.getelementsbyname(this.fname);
for (var i=0;i<objminute.length;i++) {
objminute[i].value = this.formattime(arrdate[i])
}
}
this.setforobjvalue=function(){
eval("document.all."+forobj+".value=this.gettime()");
}
this.prevent = function(obj) {
clearinterval(this.timer);
this.setfocusobj(obj);
var value = parseint(obj.value,10);
var radix = parseint(obj.radix,10)-1;
if (obj.value>radix||obj.value<0) {
obj.value = obj.value.substr(0,1);
}
}
this.controltime = function(cmd) {
event.cancelbubble = true;
if (!this.fobj) return;
clearinterval(this.timer);
var cmd = event.srcelement.innertext=="5"?true:false;
var i = parseint(this.fobj.value,10);
var radix = parseint(this.fobj.radix,10)-1;
if (i==radix&&cmd) {
i = 0;
} else if (i==0&&!cmd) {
i = radix;
} else {
cmd?i++:i--;
}
this.fobj.value = this.formattime(i);
this.fobj.select();
}
this.settime = function(obj) {
obj.value = this.formattime(obj.value);
}
this.setfocusobj = function(obj) {
eval(this.fname+"_up").disabled = eval(this.fname+"_down").disabled = false;
this.fobj = obj;
}
this.gettime = function() {
var arrtime = new array(2);
for (var i=0;i<document.getelementsbyname(this.fname).length;i++) {
arrtime[i] = document.getelementsbyname(this.fname)[i].value;
}
return arrtime.join(":")
}
this.setinitcontrol=function(){
var itime=eval("document.all."+forobj+".value");
var arrtime=new array();
arrtime=str2array(itime,":");
for (var i=0;i<arrtime.length;i++){
document.getelementsbyname(this.fname)[i].value=arrtime[i];
}
}
}
//将字符串str按照字符串ch拆分产生数组
function str2array(str,ch)
{
var a=new array();
var i=0,j=-1,k=0;
while (i<str.length)
{
j=str.indexof(ch,j+1);
if (j!=-1)
{
if (j==0){a[k]="";}else{a[k]=str.substring(i,j);}
i=j+1;
}else
{
a[k]=str.substring(i,str.length);
i=str.length;
}
k++;
}
return a;
}
</script>
<body>
<script>
var datectr1 = new minutecontrol("datectr1","txttime");
document.write(datectr1);
document.all.txttime.value="09:09:09";
//datectr1.setinitcontrol();
</script>
<input type="button" value="测试时间控件" onclick="alert(document.all.txttime.value)">
</body>
</html>