将变量传递到另一个页面并运行变量

时间:2017-03-31 20:38:49

标签: javascript jquery html coldfusion datatables

是否可以将变量从一个页面传递到下一页并同时运行该变量?

我想要做的是有一个搜索栏,允许用户搜索并在进入时打开一个有数据表的新页面。我想将他们键入搜索栏的内容传递到数据表的搜索栏中并显示结果。

<!-- START Search form-->
            <form role="search" action="searchalltransactions.cfm" class="navbar-form">
               <div class="form-group has-feedback">
                  <input type="text" placeholder="Type and hit enter ..." class="form-control">
                  <div data-search-dismiss="" class="fa fa-times form-control-feedback"></div>
               </div>
               <button type="submit" class="hidden btn btn-default">Submit</button>
            </form>
            <!-- END Search form-->

这样的事情可能吗?我对此并不熟悉,只是尽可能地学习如何做到这一点。

如何在下一页searchalltransactions.cfm

中将此内容传递给(搜索数据表创建的内容)

搜索jquery数据表创建

 <input class="form-control input-sm" placeholder="" aria-controls="processing1" type="search">

3 个答案:

答案 0 :(得分:1)

虽然我不熟悉数据表,或者你正在做的很多事情,但我认为我可以提供帮助。您可以使用localStorage和javascript来存储变量。

localStorage.setItem("userSearch", value);

在此代码中,“userSearch将是变量的名称,value是搜索的值。这将与cookie类似地存储,只有localStorage没有过期日期。” p>

然后当你想使用你要运行的值时

var search = localStorage.search;

您需要通过解析localStorage.search

来补偿字符串以外的任何数据类型

我希望这至少引导你朝着正确的方向发展,如果这不是一个可行的解决方案,我希望你找到一个。

答案 1 :(得分:1)

来自评论 - i can pass it through the url and have it say searchalltransactions.cfm?search=33 but how can i get the 33 to show in the jquery datatables search

改变这个:

<input class="form-control input-sm" 
placeholder="" aria-controls="processing1" type="search">

到此:

<cfoutput>
<input class="form-control input-sm" 
placeholder="" aria-controls="processing1" type="search"
value="#url.search#">
</cfoutput>

答案 2 :(得分:1)

这有点傻,但是在数据表初始化之后,你可以在结果页面上执行此操作:

<cfoutput>
<script>
table.search( '#url.search#' ).draw();
</script>
</cfoutput>

请记住,这是在javascript中运行。所有数据库结果都被加载到浏览器中,然后进行过滤。如果您要进行GET或POST搜索,则应该在数据库查询中进行过滤/搜索。

更多相关信息: https://datatables.net/reference/api/search()