日期格式解释不正确

Date format being incorrectly interpreted

本文关键字:不正确 解释 格式 日期      更新时间:2023-09-26

我在XML文件中有一个日期,该日期正在传递到我的网页。我使用<body onload>调用JavaScript函数,然后在我的表单上填充日期输入字段。我有日期1950-07-26,格式为yyyy-MM-dd,但我得到错误The specified value "1917" does not conform to the required format, "yyyy-MM-dd".

它从哪里得到1917 ??

我的XML是:

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

我的HTML/JavaScript代码片段是:

    <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('field@code_TF15').value=dateTF15;      
        }
        </script>
        <div class="field f_25" id="field26-container">
           <label for="field@code_TF15">
              Client 1 DOB 
            </label>
            <input name="field@code_TF15" id="field@code_TF15" required="required" type="date"/>                        
        </div>
    </body>

我的警报显示1950-07-26,这是在谷歌浏览器。不知道我哪里出错了!

我看过:

日期被解释为不同的格式

日期在我的字符串中被错误解释

但都没有帮助。

如果我直接将输入字段的value分配给相同的日期,它工作得很好。

您需要通过

将dateTF15设置为字符串
var dateTF15 = '<xsl:value-of select="VFILE_DATA/CASE/TF15"/>';
               ^                                             ^

,否则,结果代码看起来像

var dateTF15 = 1950-07-26;

也就是1917

加引号,结果代码是

var dateTF15 = '1950-07-26';