如何使用javascript读取日期时间输入并在下一页显示

时间:2014-12-06 17:59:35

标签: javascript datetime

所以我有一个表格,作为其中的一部分,你必须输入日期时间输入的日期和时间,如此...

<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标签,但它什么都不做。用警报(测试)试了一下;也是,但也没有任何东西。对此非常困惑。

编辑:哦,表单上有一个提交按钮,所有这些,忘了把它包含在这里。

1 个答案:

答案 0 :(得分:0)

要访问下一页上的表单值,您需要使用getpost方法传递它们。使用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>