1

これが私のコードです。onloadイベントを使用して日付テキストを入力した後、テキストボックスに日付を印刷したいと思います。

<!DOCTYPE html>
<html>
   <head>
      <script>
         function displayDate() {
            document.getElementById("fname").value = Date();
         }
      </script>
   </head>
   <body onload="displayDate()">
      Enter date: <input type="date" id="fname" readonly />
   </body>
</html>
4

3 に答える 3

2

必ず

  • オブジェクトを正しく作成しDateます(あなたは行方不明ですnew
  • rfc3339に従ってフォーマットします(例2012/12/30:)

変化する

document.getElementById("fname").value = Date();

var now = new Date();
var formatedDate = now.getFullYear() + '-' + (now.getMonth() + 1) + '-' + now.getDate();​
document.getElementById("fname").value = formatedDate;

デモンストレーション

一部のブラウザは他の形式を受け入れますが、Chromeは標準に準拠しているため、受け入れないことに注意してください。

于 2012-12-30T17:29:17.910 に答える
2

入力ボックスのvalue属性は文字列ですが、関数はDateオブジェクトを割り当てようとしています。最初に文字列に変換する必要があります。これを行うコードは次のとおりです。

<!DOCTYPE html>
<html>
   <head>
      <script>
         function displayDate() {
            var today=new Date();

            var date=today.toISOString().slice(0, -14);
            // Strip last 14 characters, ISO format is like
            // 2012-12-30T17:41:49.027Z but we want
            // 2012-12-30

            document.getElementById("fname").value=date;
         }
     </script>
   </head>
   <body onload="displayDate()">
      Enter date: <input type="date" id="fname" readonly>
   </body>
</html>
于 2012-12-30T17:35:02.543 に答える
0

これを試して:

function displayDate() {

   var now = new Date();

   var day = ("0" + now.getDate()).slice(-2);
   var month = ("0" + (now.getMonth() + 1)).slice(-2);
   var today = now.getFullYear() + "-" + (month) + "-" + (day);

   document.getElementById("fname").value = today;
}​

HTML5の日付コントロールは、年-月-日の形式で受け入れますがnew Date()、JavaScriptの日付は次のように日付を返します。SunDec 30 2012 10:09:05 GMT + 0230

デモを見る

于 2012-12-30T17:33:37.567 に答える