http://www.51windows.net/hw/asp/myjs.htm

解决方案 »

  1.   

    to  liberationxin(张明新) 
    上面的JS收藏站是你做的吗?我看中了日期类的‘日期和时间钟’,但他是纯JS做的,我是需要选择好时间后把值插入数据库的,但是他没有正规的<input>html标签,我无从下手,本帮忙好吗?
      

  2.   

    其实我只是需要一个有formatTime的input框,就是冒号不能改那种
      

  3.   

    http://www.51windows.net/hw/asp/myjs.htm
    上面有很多,自己改一下就可以用了
      

  4.   

    去我的blog看看:http://blog.csdn.net/191301587/archive/2004/08/26/85807.aspx
      

  5.   

    http://blog.csdn.net/191301587/archive/2004/08/26/85807.aspx
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html>
    <head>
     <title>test timeControl</title>
    </head>
    <script language="JavaScript">
    // Written by cloudchen, 2004/03/15
    // @name:必须:时间控件名称,自定义,不可重复
    // @forObj:必须:对话数据项控件名称,不允许重复
    // @fName:可选:时间控件组件,不允许重复
    // last modfiy by 农民程序员([email protected]) 2004年9月7日 19:01:02
    function timeControl(name,forObj,fName) {
     this.name = name;
     this.fName = fName || "mctr_input_"+this.name;
     
     this.timer = null;
     this.fObj = null;
     
     this.toString = function() {
      var objDate = new Date();
      //
      var sMinute_Common = "class=\"mctr_input\" maxlength=\"2\" name=\""+this.fName+"\" onfocus=\""+
       this.name+".setFocusObj(this)\" onblur=\""+this.name+".setTime(this)\" onkeyup=\""+
       this.name+".prevent(this)\" onkeypress=\"if (!/[0-9]/.test(String.fromCharCode(event.keyCode)))event.keyCode=0\""+
       " onpaste=\"return false\" ondragenter=\"return false\" style=\"ime-mode:disabled\" onPropertychange=\""+
       this.name+".setForObjValue()\"";
      //
      var sButton_Common = "class=\"mctr_arrow\" onfocus=\"this.blur()\" onmouseup=\""+this.name+".controlTime()\" disabled";
      
      var str = "";
      str +=" <style type=\"text/css\">"
      str +=" .mctr_frameborder {"
      str +="  border-left: 1px inset #D4D0C8;"
      str +="  border-top: 1px inset #D4D0C8;"
      str +="  border-right: 1px inset #D4D0C8;"
      str +="  border-bottom: 1px inset #D4D0C8;"
      str +="  width: 130px;"
      str +="  height: 20px;"
      str +="  background-color: #FFFFFF;"
      str +="  overflow: hidden;"
      str +="  text-align: left;"       //text-align: right;
      str +="  vertical-align: text-top;"       
      str +="  font-family: \"Tahoma\";"
      str +="  font-size: 14px;"
      str +=" }"
      str +=" .mctr_arrow {"
      str +="  width: 16px;"
      str +="  height: 10px;"
      str +="  font-family: \"Webdings\";"
      str +="  font-size: 9px;"
      str +="  line-height: 2px;"
      str +="  background-color: #FFFFFF;"
      str +="  padding-left: 2px;"
      str +="  cursor: default;"
      str +=" }"
      str +=" .mctr_table {"
      str +="  padding-top: 0px;"
      str +="  padding-right: 0px;"
      str +="  padding-bottom: 0px;"
      str +="  padding-left: 0px;"
      str +=" }"
      str +=" .mctr_input {"
      str +="  width: 18px;"
      str +="  height: 16px;"
      str +="  border: 0px solid black;"
      str +="  font-size: 12px;"
      str +="  text-align: right;"
      str +="  background-color: transparent;"
      str +=" }"
      str +=" </style>";
      str += "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"mctr_table\">"
      str += "<tr class=\"mctr_table\">"
      str += "<td class=\"mctr_table\">"
      str += "<span class=\"mctr_frameborder\">"
      str += "<input radix=\"24\" value=\""+this.formatTime(objDate.getHours())+"\" "+sMinute_Common+">:"
      str += "<input radix=\"60\" value=\""+this.formatTime(objDate.getMinutes())+"\" "+sMinute_Common+">:"
      str += "<input radix=\"60\" value=\""+this.formatTime(objDate.getSeconds())+"\" "+sMinute_Common+">"
      str += "</span>"
      str += "</td>"
      str += "<td class=\"mctr_table\">"
      str += "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"mctr_table\">"
      str += "<tr class=\"mctr_table\"><td class=\"mctr_table\"><button id=\""+this.fName+"_up\" "+sButton_Common+">5</button></td></tr>"
      str += "<tr class=\"mctr_table\"><td class=\"mctr_table\"><button id=\""+this.fName+"_down\" "+sButton_Common+">6</button></td></tr>"
      str += "</table>"
      str += "</td>"
      str += "<td>"
      str += "<input type=\"Text\" name=\""+forObj+"\" id=\""+forObj+"\" value=\""+this.getNowTime()+"\" 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("document.all."+this.fName+"_up").disabled = eval("document.all."+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 language="JavaScript">
    <!--
    var dateCtrl=new timeControl("dateCtrl","txtDateE");
    document.write(dateCtrl);
    //-->
    </script>
    <button onclick="alert(document.all.txtDateE.value)">click me</button>
    </body>
    </html>保存为htm页,运行
      

  6.   

    http://community.csdn.net/Expert/topic/3394/3394495.xml?temp=.7223017<html>
    <head>
    <title>无标题文档</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <script language="javascript">
    function keydown(src){
    var e=window.event;
    var code=e.keyCode;
    var cursorPos=getPos(src);
    if(code==8){ //退格
    if(cursorPos==5 || cursorPos==8|| cursorPos==11 || cursorPos==14){
    movenext(src,cursorPos,-1);
    cursorPos-=1;
    }else movenext(src,cursorPos,0);
    //alert();
    var range=setSelect(src,cursorPos-1);
    range.text="0";
    movenext(src,cursorPos,-1);
    e.returnValue=false;
    //src.focus();
    return false;
    }else if(code==46)  e.returnValue=false;
    }
    function keypress(src){
    var e=window.event;
    var code=e.keyCode;
    var cursorPos=getPos(src);
    if(!keyPressInt()) return false;
    if(cursorPos==4 || cursorPos==7|| cursorPos==10 || cursorPos==13){
    movenext(src,cursorPos,1);
    cursorPos += 1;
    }
    var num = String.fromCharCode(code);
    //alert(num);
    if(checkInput(src,num,cursorPos)){
    var range=setSelect(src,cursorPos);
    range.text=num;
    if(cursorPos==3 || cursorPos==6|| cursorPos==9 || cursorPos==12)
    movenext(src,cursorPos,2);
    else movenext(src,cursorPos,1);
    }
    e.returnValue=false;
    return false;
    }
    function checkInput(src,num,pos){
    var val=src.value;
    var year=parseInt(val.substring(0,4),10);
    var month=parseInt(val.substring(5,7),10); switch(pos){
    case 0: if(num!=1 && num!=2) return false; break;
    case 5: var char6=val.charAt(6); if(num>1 || num==1 && char6>2) return false;break;
    case 6: if(val.charAt(5)=="1" && num>2 || val.charAt(5)=="0" && num==0) 
    return false;break;
    case 8: var char9=val.charAt(9);
    switch(month){
    case 1: case 3: case 5: case 7: case 8: case 10: case 12:
    if(num>3 || num==3&&char9>1) return false;break;
    case 4: case 6: case 9: case 11:
    if(num>3 || num==3&&char9>0) return false;break;
    case 2: if(num>2) return false;break;
    }break;
    case 9: var char8=val.charAt(8); switch(month){
    case 1: case 3: case 5: case 7: case 8: case 10: case 12:
    if(char8==0 && num==0 || char8==3 && num>1) return false;break;
    case 4: case 6: case 9: case 11:
    if(char8==0 && num==0 || char8==3 && num!=0) return false;break;
    case 2: if(char8==0 && num==0) return false;
    else if(char8==2 && !(year%4==0 && year %400==0) && num>8) return false;
    }break;
    case 11: if(num>2||num==2&&val.charAt(12)>3) return false;break;
    case 12: if(parseInt(val.charAt(11)+num)>23) return false;break;
    case 14: if(num>5) return false;break;
    }

    return true;
    }
    function setSelect(src,pos){
    var range = src.createTextRange();
    range.moveStart('character',pos); 
    range.moveEnd('character',pos-src.value.length+1); 
    range.select();
    return range;
    }
    function getPos(obj){
    var ml=obj.value.length;
    var pos=0;
    var rng=document.selection.createRange();
    rng.moveEnd("character",ml);
    try{
    pos=ml-rng.text.length
    }catch(e){}
    return pos;
    }
    function movenext(src,pos,flag)
    {
    var range =src.createTextRange();
    range.moveStart("character",pos+flag);
    range.collapse(true);
    range.select();
    }
    function keyPressInt(){
    var e=window.event;
    code=e.keyCode;
    if(code >=48 && code <=57)  return true;
    else  {window.event.returnValue=false;return false;}
    }
    function checkPaste(){
    window.event.returnValue=false;
    }
    </script>
    </head><body>
    <p align=center>
    <input name="dateinput" value="0000-00-00 00:00" onkeydown="keydown(this)" size="16" maxlength="16" type="text" onFocus="" onkeypress="keypress(this)" onpaste="checkPaste()" onDrag="checkPaste()" oncut="checkPaste()" onmousemove="checkPaste()">
    </p>
    </body>
    </html>
      

  7.   

    回复人: zhaoxiaoyang(梅雪香) ( ) 信誉:100 
    8错,厉害
      

  8.   

    回复人: zhaoxiaoyang(梅雪香) ( ) 信誉:100 
    但是,用户按退格键好像就出问题了