0

我只是想知道是否有某种方法可以做到这一点:

我在网页中有一个表单,用户提交表单后,该页面被重定向到另一个静态 HTML 页面。

有没有任何方法可以在没有任何服务器代码帮助的情况下操作第二个 HTML 页面中的数据?

我的意思是我可以显示用户在第二页提交的表单数据吗?

当然应该有一个导航,而不是一些 Ajax 代码来加载第二个页面(使用它可以很容易地操作数据)。

4

4 回答 4

2

您可以使用<form>with GET 方法转到另一个带有一些查询参数的静态 HTML 页面,然后使用 JavaScript 获取这些参数:

第一页:

<form method="GET" action="page2.html">
    <input type="text" name="value1"/>
    <input type="text" name="value2"/>
    <input type="submit"/>
</form>

第二页:

<script type="text/javascript">
function getParams() {
    function decode(s) {
        return decodeURIComponent(s).split(/\+/).join(" ");
    }

    var params = {};

    document.location.search.replace(
        /\??(?:([^=]+)=([^&]*)&?)/g,
        function () {
            params[decode(arguments[1])] = decode(arguments[2]);
        });

    return params;
}

var params = getParams();

alert("value1=" + params.value1);
alert("value2=" + params.value2);
// or massage the DOM with these values
</script>
于 2009-02-06T04:17:46.670 回答
1

您可以从 JavaScript ( window.location.search,您仍然需要解析) 访问页面 GET 参数,并使用它来将一些验证传递给静态页面。

(我想没有办法获得 POST 内容。)

您还可以从 JavaScript 读取和设置 cookie 的值。

如果您处于“父”页面始终存在的框架集中,您可能还会在其中存储信息(跨框架脚本也很棘手,我会尽量避免这种情况)。

于 2009-02-06T04:04:02.610 回答
0

如果您在第一页使用 GET 操作提交表单,您将获得如下所示的 URL:

http://tempuri.org/Page2.html?param1=value1&param2=value2

然后,您可以在 Page2.html 上使用 JavaScript 读取查询字符串参数并将它们显示在页面上。

于 2009-02-06T04:04:27.290 回答
0

如果您通过 GET 发送表单,是的,您可以从 js 中获取该信息。

有一个 jQuery 插件可以做到这一点,但如果你愿意,你可以自己滚动,它并不复杂。

只需获取 location.href 并使用“?”将其拆分即可

然后,使用“&”再次拆分

现在,对于每个值,用“=”分割。然后,您将拥有一个包含查询名称及其值的数组。

编辑:谷歌javascript get querystring找到几十个实现。

于 2009-02-06T04:05:48.537 回答