javascript - 在页面之间传递值。我究竟做错了什么?

标签 javascript jquery html ajax

我有 2 个页面,一个名为“details.page”,另一个名为“maps.page”

在第一页中,我声明了一个搜索输入,如下所示:

  <form method="get" id="form-search" data-ajax="true" action="maps.page">
            <input type="search" name="search" id="search" value=""/>
        </form>

在我的第二页,maps.page,我有一个声明如下:

  <form action="maps.page">
        <input type="search" name="search" id="search-field" value=""/>
        </form>

现在,我假设当我从第一页的搜索栏中输入内容并按 Enter 键时,maps.page 上的搜索栏将填充之前输入的值。

我已正确重定向,但搜索栏为空。

我做错了什么?

预先感谢您的帮助。

编辑:另外,我在 URL 中看到它似乎有效,因为我可以看到我在 URL 中搜索的内容,如下所示:/maps.page?search=something

最佳答案

您有几种选择可以在不使用后端脚本的情况下执行此操作。

1) 您可以将表单方法设置为 GET,以便将变量传递到地址栏中,然后使用如下所示的脚本在另一侧抓取它们(这实际上读取地址,然后解析它以获取变量)。之后,您可以将该值放入输入字段中。

var getVars = new Array();
var locvartemp = ( window.location.href.indexOf( "?" ) + 1 ) ? window.location.href.substr( window.location.href.indexOf( "?" ) + 1 ) : "";
locvartemp = locvartemp.split( "&" );
for( var x = 0; x < locvartemp.length; x++ ) {
    var lvTempVar = locvartemp[x].split( "=" );
    getVars[ unescape( lvTempVar[0] ) ] = unescape( lvTempVar[1] );
}

2) 您可以在提交表单之前使用 jQuery cookie 插件将值设置为 cookie,然后在另一侧读取它并将其设置到您的输入字段。

jQuery.cookie("myCookie", document.formName.myFieldName.value);

如果您需要更多详细信息,请告诉我。

关于javascript - 在页面之间传递值。我究竟做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6859608/

相关文章:

javascript - -webkit-transition 在使用 jQuery 进行转换时无效

html - 嵌套 CSS 中的溢出父级 <div>

javascript - 如何删除 bootstrap-datepicker 中的最后一行天

html - 自定义字体无法加载,也从 fontmaker 复制了 CSS 文件,没有结果

javascript - document.links 输出未知元素

javascript - 从服务器调用 JQuery 函数 (asp.net)

javascript - Php 使用 JQUERY AJAX 的相似与不同

javascript - jQuery 委托(delegate)事件绑定(bind)不起作用?

javascript - 向特定用户广播事件(socket.io、redis、node)

javascript - 如何处理克隆的幻灯片以在 SlickJS 中创建无缝的 html5 视频 slider ?