有7个文本框!
星期一到星期日
当输入第一个(星期一)文本框为2月23号,以后7个文本框自动显示为24 25 26 27 28 1 2因为2月只有28天。
如果其中一天不输入,假如 26号改为28号,即 24 25 28 1 2 3 4 也能在26号被修改这一天起后面自动加一。
求JS或者其它办法来做。
我的程序是PHP的。

解决方案 »

  1.   

    算法的话可以依据电脑上的日期,简单判断。不至于精确到2月到底是28天还是29天。只是简单判断月大月小就可以了。
    关健是TEXT 的JS触发我不太会。
      

  2.   

    我做了个,比较粗糙,但能用
    <script type="text/javascript">
    function showtime(i){
        var obj = document.getElementById('w'+i).value;
        var s = /\d+/;
        var c = obj.length ;
        var out = obj.substr(0,c-1);
        for(var k=0;k<c;k++){
          out = out.replace(/[\u4e00-\u9fa5]/,' ');
        }
        var arr = out.split(' ');    var mmon = Number(arr[0]),dday = Number(arr[1]) ;
        document.getElementById('mon').value = mmon ;
        while(i!=7){
          i++;
          dday++;
          var nobj = document.getElementById('w'+i);
          if(mmon == 1 || mmon == 3 || mmon == 5 || mmon == 7 || mmon == 8 || mmon == 10 || mmon == 12){
            if(dday == 31){
              dday = 1 ;
              nobj.value = dday;
            }else{
              nobj.value = dday;
            }
          }else if(mmon == 4 || mmon == 6 || mmon == 9 || mmon == 11){
            if(dday == 30){
              dday = 1 ;
              nobj.value = dday;
            }else{
              nobj.value = dday;
            }
          }else if(mmon == 2){
            if(dday == 28){ //这里没有考虑闰年
              dday = 1 ;
              nobj.value = dday;
            }else{
              nobj.value = dday;
            }
          }
        }
    }
    function showtimet(i,v){
        var dday = v;
        var mmon = document.getElementById('mon').value;
        mmon = Number(mmon);
        while(i!=7){
          i++;
          dday++;
          var nobj = document.getElementById('w'+i);
          if(mmon == 1 || mmon == 3 || mmon == 5 || mmon == 7 || mmon == 8 || mmon == 10 || mmon == 12){
            if(dday == 31){
              dday = 1 ;
              nobj.value = dday;
            }else{
              nobj.value = dday;
            }
          }else if(mmon == 4 || mmon == 6 || mmon == 9 || mmon == 11){
            if(dday == 30){
              dday = 1 ;
              nobj.value = dday;
            }else{
              nobj.value = dday;
            }
          }else if(mmon == 2){
            if(dday == 28){ //这里没有考虑闰年
              dday = 1 ;
              nobj.value = dday;
            }else{
              nobj.value = dday;
            }
          }    }
    }</script>
    <input type="text" name="w1" id="w1" value="" onblur="showtime('1');" /><br />
    <input type="text" name="w2" id="w2" value="" onblur="showtimet('2',this.value);" /><br />
    <input type="text" name="w3" id="w3" value="" onblur="showtimet('3',this.value);" /><br />
    <input type="text" name="w4" id="w4" value="" onblur="showtimet('4',this.value);" /><br />
    <input type="text" name="w5" id="w5" value="" onblur="showtimet('5',this.value);" /><br />
    <input type="text" name="w6" id="w6" value="" onblur="showtimet('6',this.value);" /><br />
    <input type="text" name="w7" id="w7" value="" onblur="showtimet('7',this.value);" /><br />
    <input type="hidden" name="mon" id="mon" value="" /><br />
    使用方法:
    在第一个文本框内输入:x月x日 如:3月1日,然后鼠标点此框外的其他地方,所有的文本框将都显示出数据来
    修改任意一文本框后,鼠标点其他地方,此文本框以后的所有文本框都将更新数据