2016-09-01 13 views
0

私のWebページに渡されているXMLファイルの日付があります。 <body onload> JavaScript関数を呼び出すと、フォームに日付入力フィールドが設定されます。私はyyyy-MM-ddの形式で1950-07-26の日付を持っていますが、エラーが発生します。The specified value "1917" does not conform to the required format, "yyyy-MM-dd".日付の形式が正しく解釈されていません

1917年はどこから届いていますか?

私のXMLは次のとおりです。私のHTML/JavaScript

<VFILE_DATA> 
    <CASE> 
     <TF15> 
     1950-07-26 
     </TF15> 
    </CASE> 
</VFILE_DATA> 

スニペットは、次のとおりです。

<body onload="load();"> 
     <script> 
     function load() 
     { 
      window.alert("<xsl:value-of select="VFILE_DATA/CASE/TF15"/>"); 
      var dateTF15 = <xsl:value-of select="VFILE_DATA/CASE/TF15"/>; 
      document.getElementById('[email protected]_TF15').value=dateTF15;  

     } 
     </script> 
     <div class="field f_25" id="field26-container"> 
      <label for="[email protected]_TF15"> 
       Client 1 DOB 
      </label> 
      <input name="[email protected]_TF15" id="[email protected]_TF15" required="required" type="date"/>       

     </div> 
    </body> 

マイアラートは、1950年7月26日が表示され、これはGoogle Chromeです。どこが間違っているのか分かりません!

私が見てきた:

Date is interpreted as being in a different format

Date incorrectly interpreted in my string

どちらも役立っています。

入力欄のvalueを同じ日付に直接割り当てると、正常に動作します。

+0

私はほとんど分かりませんJavascriptについては、明らかにあなたの文字列は算術式として評価されています: '1950 - 7 - 26 = 1917'。それを明示的に現在までキャストする必要はありませんか? –

+0

ああ、それは完全に明らかです!私が見てきたものの1つは、単純なものを見るのに時間がかかりすぎる... – KT79

+1

'var dateTF15 = ''; 'それは - –

答えて

1

あなたがそうでなければ、結果のコードは

引用符で1917

ある

var dateTF15 = 1950-07-26; 

ようになり、コードの結果は

ある

var dateTF15 = '<xsl:value-of select="VFILE_DATA/CASE/TF15"/>'; 
      ^           ^

でdateTF15文字列を作成する必要があります

var dateTF15 = '1950-07-26'; 
+0

完璧、ありがとう! – KT79

関連する問題