我有 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/