我在网页上有一个表单,还有一个隐藏的表单和一个按钮。单击按钮时,可见形式的值将通过jQuery复制到隐藏形式。然后,我通过jQuery获取隐藏表单输入的值。
一切正常,直到我转到另一页并返回。然后jQuery弄错了日期输入的值(尽管它得到了正确的文本输入值)。
问题是为什么日期输入错误?
我已经在服务器上创建了一个测试页:
要重现:
页面代码:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#button").click(
function () {
$("input[name='hidden_date']").attr('value', $("input[name='date']").val());
$("input[name='hidden_text']").attr('value', $("input[name='text']").val());
$("div").append('<br>', 'form_hidden.serialize(): ', $("#form_hidden").serialize(), '<br>','hidden_date.val() = ', $("[name='hidden_date']").val(), ' hidden_text.val() = ', $("[name='hidden_text']").val(), '<br><br>' );
}
);
});
</script>
<form id="form_hidden" hidden = "hidden">
<input type="date" name="hidden_date"/>
<input type="text" name="hidden_text"/>
</form>
<form id="form">
<input type="date" name="date"/> <label>date</label><br><br>
<input type="text" name="text"/> <label>text</label>
</form>
<button id="button">print hidden.serialize()</button><br><br>
<a href="http://www.google.com">link to google.com</a>
<br>
<br>
<div></div>