Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在页面之间传递值。我做错了什么?_Javascript_Jquery_Html_Ajax - Fatal编程技术网

Javascript 在页面之间传递值。我做错了什么?

Javascript 在页面之间传递值。我做错了什么?,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,我有两页,一页叫做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> <form

我有两页,一页叫做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>
  <form action="maps.page">
        <input type="search" name="search" id="search-field" value=""/>
        </form>

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

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

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

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

我做错了什么

提前感谢你的帮助


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

该值不会自动填充。您需要从服务器端打印它

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

该值不会自动填充。您需要从服务器端打印它

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

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

这就是你做错的地方

只有在设置value属性(或在元素添加到DOM后设置DOM value属性)时,才会填充该字段

这通常是使用服务器端进程完成的。具体细节取决于创建该流程所使用的语言,但请注意,包括未经过滤、未经转移的用户输入将造成安全漏洞

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

这就是你做错的地方

只有在设置value属性(或在元素添加到DOM后设置DOM value属性)时,才会填充该字段


这通常是使用服务器端进程完成的。具体细节取决于创建该流程所使用的语言,但请注意,包括未经筛选、未越界的用户输入将造成安全漏洞。

您可以选择如何在不使用后端脚本的情况下执行此操作

1) 您可以将form方法设置为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] );
}
jQuery.cookie("myCookie", document.formName.myFieldName.value);

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

您可以选择如何在不使用后端脚本的情况下执行此操作

1) 您可以将form方法设置为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] );
}
jQuery.cookie("myCookie", document.formName.myFieldName.value);

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

这就是问题所在,我想将我在URL中看到的值传递到文本框。使用session存储该值,然后在下一页中使用session读取该值并设置搜索框的value属性。它无法自动填充。除非希望数据持久化,否则不要使用会话。这样就有一大堆的比赛条件。值已经在第二页的查询字符串中,请直接从那里读取。这就是问题所在,我想将在URL中看到的值传递到文本框。使用session存储值,然后在下一页使用session读取值并设置搜索框的value属性。它无法自动填充。除非希望数据持久化,否则不要使用会话。这样就有一大堆的比赛条件。该值已经存在于第二页的查询字符串中,请直接从那里读取。我认为您需要阅读客户端和服务器端脚本。我认为您需要阅读客户端和服务器端脚本。这正是我所寻找的。非常感谢。那正是我想要的。非常感谢你。