0

日付がすでに過ぎているかどうかを知りたいのですが、過ぎている場合は、入力ボックスを編集不可にします。

私の入力ボックスのコードは次のとおりです。

<input id="inserviceInputId" type="text" value="09/05/2003" name="inserviceInput" style="width:7em">

そして、私がこれまでに持っている Dojo コード:

var date1 = new Date;
    dojo.query("[name=inserviceInput]").forEach(function(evnt,i){

    console.log(evnt.value)

    });

したがって、ここで入力ボックスの値を取得します。しかし、問題は、今日の日付と値の日付をどのように減算するかです。

事前に助けてくれてありがとう。

4

2 に答える 2

0

まず、あなたの構文は正しくないと思います。ノードからの値に対して何らかのアクションを実行する代わりに、イベントハンドラー(function(evnt、i))を作成しようとしているようです。

以下にいくつかの修正されたコードを添付し、説明のためにインラインコメントを追加しました。

dojo.query("input[name='inserviceInput']").forEach(function(node){
   var date1 = new Date();  // get the current date and time

   var date2 = new Date(node.value); // turn the input from the input field into a date

   if (date1>date2) { // compare the two dates, 

     //if the current date is larger than the date from the input field... 
     // do something here  
   } 

});

于 2013-02-19T16:37:50.780 に答える
0

を使用しdojo/date/localeて値を解析して JavaScript の Date オブジェクトにし、日付オブジェクトを比較します。

require(["dojo/query", "dojo/date/locale"], function(query, locale){

  query("[name=inserviceInput]").forEach(function(node){

    var dtNow = new Date();
    var dtValue = locale.parse(node.value, {
        selector: 'date',
        datePattern: 'dd/MM/yyyy'
    });

    // validation
    if(dtValue < dtNow) {
      // error condition...
    }

  });
});

JavaScript で 2 つの日付を比較する

于 2013-02-19T16:41:52.607 に答える