单击按钮将时间戳传递给表单

时间:2019-09-07 04:00:17

标签: javascript html

对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”。

任何帮助将不胜感激,我已经在该站点和其他站点上提出了许多类似的问题,但是我很难弄清自己在做什么错。

1 个答案:

答案 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放在身体底部。