我試圖將用戶重定向到專門的搜索頁面,當他們鍵入搜索框並單擊從我的網站上的任何頁面發送。是否有可能與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)文章,瞭解如何提出更好的問題,這將幫助人們給你更好的答案。特別是,添加已經嘗試過的代碼將有助於人們理解您的問題,並更好地理解語境。 –