对JavaScript来说是新的。当用户单击按钮时,我想将时间戳传递给表单,但是我无法获取要提交的实际值。
<html>
<head>
<script type="text/javascript">
var dateOfUser = new Date();
document.getElementById("userdate").value = dateOfUser;
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
// hide the content from user until they click the button
<script>
$(document).ready(function(){
$("#show").click(function(){
$("#ans").show();
});
});
</script>
</head>
<body>
<p>
Click the button to see the text.
</p>
<p><button type="button" id="show" onclick="userdate = new Date()">Show text</button></p>
<div id="ans" style="display:none">
<input type="hidden" id="userdate" name="timestamp" value="dateOfUser">
Here is the hidden text.
</div>
</body>
我已经省略了表单提交代码-不幸的是我没有编写它,而且除了将其用于表单提交之外,我无权访问该代码。
但是提交后,.csv文件包含:
"timestamp":"dateOfUser"
不是“ userdate”的值。据我了解,使用document.getElementById("userdate").value = dateOfUser;
应该允许我在HTML中使用“ userdate”。
任何帮助将不胜感激,我已经在该站点和其他站点上提出了许多类似的问题,但是我很难弄清自己在做什么错。
答案 0 :(得分:1)
您可以删除type="hidden"
进行测试。至少使用userdate.value
对我有用。
<html>
<head>
</head>
<body>
<p>
Click the button to see the text.
</p>
<p><button type="button" id="show">Show text</button></p>
<div id="ans" style="display:none">
<input id="userdate" name="timestamp" value="dateOfUser">
Here is the hidden text.
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
// hide the content from user until they click the button
<script>
$(document).ready(function(){
$("#show").click(function(){
$("#ans").show();
$("#userdate")[0].value = new Date()
});
});
</script>
</body>
将script
放在身体上方的方式
<script type="text/javascript">
var dateOfUser = new Date();
document.getElementById("userdate").value = dateOfUser;
</script>
将因为dom(即元素)尚未加载而无法正常工作。 onclick
和$(document).ready
与上述方式不同。
但是,最好将script
放在身体底部。