0

スクリプトは ---

 function TimeSpentForFutureDate() {
      var toDate = new Date();
      toDate.setMinutes(0);
      toDate.setSeconds(0);
      toDate.setHours(0);
      toDate.setMilliseconds(0);
  //Here after selecting future date also, this condition is failing.The textbox
      // containing a future date

      if (document.getElementById('<%= txtDate.ClientID%>').value > toDate) {
          var timespent = jPrompt('Enter Time Spent:', '', 'Enter Time Spent', 
          function (r) {
              if (r) {
                 document.getElementById('<%= 
                    hiddenFieldFutureDateSelectTimeSpent.ClientID%>').value = r;
                 jAlert('You entered ' + r);
              }
              else {
                 var todaysDate = new Date();
                 jAlert('You had not entered the Time Spent', 'Message');
              }
              });
            }
            else {
                document.getElementById('<%=
                    hiddenFieldFutureDateSelectTimeSpent.ClientID%>').value = 
                    timespent;
                document.getElementById('<%= txtDate.ClientID%>').value = toDate;
            }
        }

上記のコードでは、テキスト ボックス 'txtDate' に将来の日付が含まれているかどうかを確認しています。

[つまり、今日の日付より後の日付は、費やした時間を入力するように求め、その時間を隠しフィールドに保存します。]

比較のために文字列を日時オブジェクトに変換できません。この問題を解決するのを手伝ってください。

前もって感謝します。

4

1 に答える 1

2

Date.parseトリックを行います

var dateToCovert=document.getElementById('<%= txtDate.ClientID%>').value;
var sDate = new Date(Date.parse(dateToCovert,"MM/dd/yyyy"));

もちろん、フォーマット(「MM/dd/yyyy」)は必要に応じて変更できます

ノート:

dateToCovertが null ではなく、有効な形式であることを確認してください

Date.parseIE7/8 では動作しません。

于 2012-06-06T09:41:24.810 に答える