我在XML文件中有一个日期,正在传递到我的网页。我正在使用<body onload
&gt;调用一个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,这是在Google Chrome中。不知道我哪里出错了!
我看过:
Date is interpreted as being in a different format
Date incorrectly interpreted in my string
但都没有帮助。
如果我直接将输入字段的value
分配到同一日期,它就可以正常工作。
答案 0 :(得分:1)
你需要通过
使dateTF15成为一个字符串var dateTF15 = '<xsl:value-of select="VFILE_DATA/CASE/TF15"/>';
^ ^
否则,结果代码看起来像
var dateTF15 = 1950-07-26;
这是1917年
带引号的,结果代码是
var dateTF15 = '1950-07-26';