如何从另一个页面中的表单获取数据(JavaScript)

时间:2017-08-27 17:42:57

标签: javascript html forms

我的英语不够好所以我希望你能理解我的问题是什么......

我有一个带有表单的页面'A'。当我点击提交时,我希望它打开/重定向到页面'B',我想在页面'B'上显示页面'A'中表单的数据...我想用JavaScript执行此操作,不是用jQuery左右。我已尝试使用window.opener或类似的东西......接下来,将显示示例代码。

Page'A':

<html>
    <head>
    </head>
    <body>
        <form method="post" name="form1" id="form1">
            <input type="text" name="field1">
            <input type="submit" name="submit" onclick="window.open('show.html');">
        </form>
    </body>
</html> 

Page'B':

<html>
    <head>
    </head>
    <body>
        <script>
            var x = opener.document.forms["form1"]["field1"].value;
    document.write(x);
        </script>
    </body>
</html>

页面'B'显示页面'A'上的表单中的数据非常重要。我不能使用PHP或其他技术...:/

我希望你明白我在问什么。谢谢!

**更新

解决方案(至少对我来说)是本地存储,正如萨加尔哈尼所说。无论如何,感谢回答的人!

2 个答案:

答案 0 :(得分:1)

  • 永远不会从客户端获取 POST 数据(使用javascript或任何其他客户端语言)
  • 您必须使用服务器端语言来获取发布数据(如PHP,nodeJs)。
  • 但您可以从客户端(javascript)获取 GET 数据。

以下是您想要的确切解决方案。

Page'A'(a.html)

   <html>
        <head>
        </head>
        <body>
            <form action="b.html" method="get" name="form1" id="form1">
                <input type="text" name="field1">
                <input type="submit" name="submit">
            </form>
        </body>
    </html> 

Page'B'(b.html)

<script>

alert(findGetParameter("field1"))

function findGetParameter(parameterName) {
    var result = null,
        tmp = [];
    location.search
        .substr(1)
        .split("&")
        .forEach(function (item) {
          tmp = item.split("=");
          if (tmp[0] === parameterName) result = decodeURIComponent(tmp[1]);
        });
    return result;
}

</script>

答案 1 :(得分:0)

不能是PHP吗?使用PHP,您还可以将信息发送到页面B并向用户显示所有信息。事实上,它更加用户友好,因为它是服务器端进程。