【发布时间】:2013-12-23 18:34:52
【问题描述】:
我试图在搜索框中输入一个输入并将该值用作另一个函数的参数,但每次我单击按钮时,当页面刷新时,全局变量会自行重置。
这是我的 javascript 代码中的内容:
var searchTags;
function DoSearch()
{
searchTags = $('#squery').val();
}
dataservices.pictureFeedService.searchForPictures(searchTags, function (data) {
dataservices.picturesLayoutService.buildPicturesLayout("images", data);
});
接下来是我的索引中搜索框的 html 代码:
<form id="custom-search-form" class="form-search form-horizontal">
<div class="input-append span2 offset5">
<input id="squery" type="text" class="search-query" placeholder="Search"/>
<button type="submit" onclick="DoSearch();" class="btn"><i class="icon-search"></i></button>
</div>
</form>
我的程序中有 3 个 JS 文件:main.js 中的这个 js 代码,另一个我使用 dataservices.pictureFeedService 和 dataservices.picturesLayoutService 的 js 文件,以及我只有这个的最后一个 js 文件:
dataservices = {};
【问题讨论】:
-
您的输入是否在实际提交并刷新页面的表单中?你怎么知道它会自行重置。您的数据服务功能是如何被调用的?为什么不在函数中而不是在外部调用它。
-
当页面刷新时,全局变量会自行重置。。是的,这通常发生在 JS 变量上。
-
您不需要提交表单。从
button中删除type="submit" -
对不起,我现在包含了完整的表格。我在另一个 javascript 文件中这样调用数据服务:dataservices = {};调试我的程序,我看到运行 DoSearch 函数后,我的程序执行了这个 dataservices = {} 并且我丢失了搜索。抱歉,我对 javascript 的了解很差。
标签: javascript jquery html search global-variables