我试图将用户重定向到专门的搜索页面,当他们键入搜索框并单击从我的网站上的任何页面发送。是否有可能与JS实现:基于搜索输入 与JS的搜索功能
- 使用Ajax请求提取数据
- 基于来自Ajax请求
我遇到的问题是JS需要在同一个函数的两个不同的页面上执行,我不知道如何正确地构造它。
我试图将用户重定向到专门的搜索页面,当他们键入搜索框并单击从我的网站上的任何页面发送。是否有可能与JS实现:基于搜索输入 与JS的搜索功能
我遇到的问题是JS需要在同一个函数的两个不同的页面上执行,我不知道如何正确地构造它。
这真的很容易。假设这是你生成的HTML
<form...>
...
<div class="search">
<input type="text" id="txtSearch" name="search" />
<input type="submit" id="btnSearch" value="Search" />
</div>
...
</form>
...
<script>
window.onload = function(){
function searchRedir(){
var searchKey = document.getElementById('txtSearch').value;
window.location = '/<searchPageUrl>?search=' + escape(searchKey);
return false;
}
document.getElementById('txtSearch').onchange =
document.getElementById('btnSearch').onclick = searchRedir;
}
提交按钮btnSearch在情况下用户浏览器中添加不支持javascript(或支持被关闭)。在这种情况下,您必须将请求重定向到服务器端的搜索页面。代码可能会有所不同,这取决于服务器端技术。
是的。有可能的。
下面是谷歌为每个的:
1.-“如何做(使用Javascript /您所使用的框架)一个Ajax请求”,如果你不使用任何框架,我会建议使用superagent来简化您的请求。但是,这是没有必要的,你可以用普通的JavaScript做阿贾克斯GET
要求是这样的(学分You might not need jQuery):
var request = new XMLHttpRequest();
request.open('GET', '/my/url', true);
request.onload = function() {
if (this.status >= 200 && this.status < 400) {
// Success!
var resp = this.response;
} else {
// We reached our target server, but it returned an error
}
};
request.onerror = function() {
// There was a connection error of some sort
};
request.send();
2:“如何使用重定向用户到URL(使用Javascript /任何框架您正在使用)“并将其与3”如何设置URL参数(使用Javascript /任何框架)“
3.-”如何访问URL参数(JavaScript /任何框架,你是使用)“
如果你Google那些3你应该能够做你需要做的。
当用户开始打字时,将用户重定向到新页面看起来像是令人困惑的行为。我建议您在用户点击搜索框时将用户重定向到您的搜索页面,或者您可以用链接替换框。如果你需要来自请求页面的参数,你可以将它们附加到你的url,比如myexamplesite/search?myparam = Thethingineed
我只是在他们点击输入或搜索后重定向他们,问题是正确计时,所以更新页面的JS运行在新加载的搜索页面上,而不是搜索框填充的页面 – compsci45000
啊。好的。也许可以在页面加载完成后在搜索页面上运行单独的脚本?你可以随时在url中获取你需要的数据。根据JS运行和页面加载速度,似乎对我来说很容易出错。 – JsTinker
嗨,欢迎来到SO!请阅读[this](http://stackoverflow.com/help/how-to-ask)文章,了解如何提出更好的问题,这将帮助人们给你更好的答案。特别是,添加已经尝试过的代码将有助于人们理解您的问题,并更好地理解语境。 –