0

2つの入力タイプボタンと入力タイプのテキストフィールドがあります。両方のボタンは、数日を加算または減算するための機能をアクティブにするためにあります。

実際、すべてはmysqlからmaデータベースによって生成されます。

phpスクリプトは、日付に関連付けられたいくつかのアクションを持ついくつかのカレンダーを管理するため、私には多くの日付があります。

会議の数日後に与えるために、カレンダーを管理する必要がある場合があります。

だから私はその機能を実行しました:

javascriptで:

​<script type="text/javascript">
    function addday() {
        var items = new Array();
        var itemCount = document.getElementsByClassName("date");

        for (var i = 0; i < itemCount.length; i++) {
            items[i] = document.getElementById("date" + (i + 1)).value;
        }



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


                itemCount[i].value = setDate(itemDt + nb) ;



        }


       return items;
           }

</script>

問題は、このスクリプトが機能しないことです。

私は2時間以来試みている間違いを訂正することができず、日付について多くを読みましたが、方法がわかりません。

まず第一に、setDateが定義されていないことを私に言います。

そして、ページがフリーズしています。

私の最大限の敬意をすべて受け取ります。

SP。

4

2 に答える 2

1

javascriptDateオブジェクトでsetDateメソッドを呼び出す必要があります。このように使用します

<script type="text/javascript">
    function addday() {
        var items = new Array();
        var itemCount = document.getElementsByClassName("date");

        for (var i = 0; i < itemCount.length; i++) {
            items[i] = document.getElementById("date" + (i + 1)).value;
        }



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

    var newDate = itemDt.getDate() + nb;
        itemDt.setDate(newDate ) ;
                itemCount[i].value = itemDt;

        }


       return items;
           }

</script>
于 2012-08-29T15:09:08.467 に答える
1

http://jsfiddle.net/eeG5u/

var today = new Date();
var yesterday = new Date();
yesterday.setDate(today.getDate() - 1);
var tomorrow = new Date();
tomorrow.setDate(today.getDate() + 1);
于 2012-08-29T15:14:15.773 に答える