所以我有一个表单,作为表单的一部分,您必须输入日期和时间,并输入日期时间,如下所示。
<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;我希望它将datetime打印到span标记,但它什么也没做。使用alert(test);也尝试了一下,但也没有得到任何结果。对此非常困惑。
编辑:哦,表单有一个提交按钮,所有这些,忘了在这里包括它。
发布于 2014-12-07 02:07:46
为了访问下一页上的表单值,您需要使用get或post方法传递它们。在<form>元素上使用method属性来告诉它使用哪一个。
通常,您将使用post发送要在服务器上处理的表单数据(使用PHP或其他服务器端语言)。话虽如此,这个question对于在JavaScript中使用post可能很有用。
编辑
根据this answer的说法,您不能在客户端访问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>https://stackoverflow.com/questions/27334672
复制相似问题