所以我有一个表格,作为其中的一部分,你必须输入日期时间输入的日期和时间,如此...
<form action="confirmForm.html">
<p>What date and time suits you? </p>
<input id="datetime" type="datetime-local" />
</form>
然后在下一页上,只有一个span标记。
<body onload="formConfirm();">
<span id="confirm"></span>
</body>
我的JavaScript ..
var test = document.getElementById('datetime').value;
document.getElementById("confirm").innerHTML = test;
我希望它能将日期时间打印到span标签,但它什么都不做。用警报(测试)试了一下;也是,但也没有任何东西。对此非常困惑。
编辑:哦,表单上有一个提交按钮,所有这些,忘了把它包含在这里。
答案 0 :(得分:0)
要访问下一页上的表单值,您需要使用get
或post
方法传递它们。使用method
元素上的<form>
属性告诉它使用哪个属性。
通常,您使用post
发送要在服务器上处理的表单数据(使用PHP或其他服务器端语言)。话虽如此,question对于将post
与JavaScript结合使用可能很有用。
修改强>:
根据{{3}}回答,您无法在客户端访问JS中的post
变量,这是有道理的。
但这里是get
:
(使用this解决方案来解析URI)
<强> confirmForm.html 强>
<body onload="formConfirm()">
<span id="confirm"></span>
<script>
function formConfirm() {
var dt = getParameterByName('datetime');
alert(dt);
document.querySelector('#confirm').innerHTML = dt;
}
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
</script>
</body>
表格页面上的重要内容:
确保为所有字段指定name
属性。
<form action="confirmForm.html" method="get">
<p>What date and time suits you? </p>
<input id="datetime" type="datetime-local" name='datetime'/>
<button type="submit">Submit</button>
</form>