0

我尝试更改 javascript 中的日期。

所以首先,实际上我有一个从数据库中选择记录的 mysql 查询。

这些记录有两个日期,一个日期称为操作,另一个日期用于验证。

实际上,脚本应该更改标准的日期,但前提是验证日期等于 0000-00-00,即认为数据库的注册无效。

所以我实际上添加了所有字段都不需要验证属性。

我尝试了下面我努力做的代码:

<script type="text/javascript">
function lz(x){
return x.toString().replace(/^(\d)$/,'0$1')
}

    function addday() {
        var items = new Array();
        var itemCount = document.getElementsByClassName("datepicker hasDatepicker");


            items[0] = document.getElementById("date" + (1)).value;


            items[1] = document.getElementById("date" + (2)).value;


            items[2] = document.getElementById("date" + (3)).value;


            items[3] = document.getElementById("date" + (4)).value;


            items[4] = document.getElementById("date" + (5)).value;


            items[5] = document.getElementById("date" + (6)).value;


            items[6] = document.getElementById("date" + (7)).value;


            items[7] = document.getElementById("date" + (8)).value;


            items[8] = document.getElementById("date" + (9)).value;


            items[9] = document.getElementById("date" + (10)).value;



        for (var i = 0; i < itemCount.length; i++) {
            items[i] = document.getElementByAttribute('required').value;
Uncaught TypeError: Object #<HTMLDocument> has no method 'getElementByAttribute'
            var itemDtParts = items[i].split("-");
             var itemDt  = new Date(parseInt(itemDtParts[2],10), parseInt(itemDtParts[1],10)-1, parseInt(itemDtParts[0],10)+ +nb);
            nb=document.getElementById('nb').value;

                itemCount[i].value = lz(itemDt.getDate())+"-"+lz(itemDt.getMonth()+1)+"-"+itemDt.getFullYear()
        }


       return items;
           }

</script>

但我返回以下错误:

未捕获的类型错误:对象 # 没有方法“getElementByAttribute”

我不懂为什么。

生成 javascript 的代码如下:

<script type="text/javascript">
function lz(x){
return x.toString().replace(/^(\d)$/,'0$1')
}

    function addday() {
        var items = new Array();
        var itemCount = document.getElementsByClassName("datepicker hasDatepicker");

  <?php  $sql2 = "SELECT * FROM agenda WHERE n_doss='".mysql_real_escape_string($_GET['n_doss'])."' AND qualite='".mysql_real_escape_string($_GET['qualite'])."' AND liasse='".$_GET['liasse']."' AND `date_validation`='0000-00-00' ORDER BY `date_action` ASC" ;
  $rules2=mysql_query($sql2) ; $i2=0;
  while($data2=mysql_fetch_assoc($rules2)) {?>

            items[<?php echo $i2 ; ?>] = document.getElementById("date" + (<?php echo ++$i2 ; ?>)).value;

<?php }?>


        for (var i = 0; i < itemCount.length; i++) {
            items[i] = document.getElementByAttribute('required').value;
            var itemDtParts = items[i].split("-");
             var itemDt  = new Date(parseInt(itemDtParts[2],10), parseInt(itemDtParts[1],10)-1, parseInt(itemDtParts[0],10)+ +nb);
            nb=document.getElementById('nb').value;

                itemCount[i].value = lz(itemDt.getDate())+"-"+lz(itemDt.getMonth()+1)+"-"+itemDt.getFullYear()
        }


       return items;
           }

</script>

我用这个微表格来执行这个功能

<input type="button" value="( - )" width="22" height="22" onClick="subday()" />
                  <input name="jours" type="text" value="" size="5" id="nb" />
                  <input type="button" value="( + )" width="22" height="22" onClick="addday()"  />

接受我最大的尊重。

亲切的问候。

SP。

4

1 回答 1

1

除非您自己制作,否则没有 getElementByAttribute 这样的东西

XUL 有一个 getElementsByAttribute但不适用于普通 JS AFAIK

也许你想这样做?

function addday() {
  var items = document.getElementsByClassName("datepicker hasDatepicker");
  for (var i = 0; i < items.length; i++) {
    if (items[i].getAttribute('required')) {
      var itemDtParts = items[i].value.split("-");
      var itemDt  = new Date(parseInt(itemDtParts[2],10), parseInt(itemDtParts[1],10)-1, parseInt(itemDtParts[0],10)+ +nb);
      items[i].value = lz(itemDt.getDate())+"-"+lz(itemDt.getMonth()+1)+"-"+itemDt.getFullYear()
    }
  }
}
于 2012-10-01T09:07:30.280 回答