2017-05-25 23 views
0

我正在構建一個搜索引擎,並且正在徘徊一種方式,讓用戶點擊「?」後將查詢重定向到答案頁面。鍵。如何在「?」之後將搜索詞重定向到新頁面進入了嗎?

E.G.

  1. 查詢中的用戶類型。什麼是4 + 4

  2. 後跟一個「?」。

  3. 過渡出現,然後重定向到新問題和答案的頁面。

這裏是我的代碼,我到目前爲止有:

HTML:

<form> 
    <input type="text" name="search"></form> 

CSS:

input[type=text] { 
    width: 50%; 
    padding: 15px 20px; 
    margin: 0px 0; 
    border: none; 
    background-color: #000; 
    color: #fff; 
    font-family: 'Roboto', sans-serif; 
    font-size: 1.3em; 
    border: 2px #000; 
    border-radius: 5px; 
    font-style: normal; 
    text-align: center; 
} 

我不確定是否CSS,JS或其他編碼技能會與我想達到的目標一致。任何幫助將不勝感激!

+0

JS ...先看看這個,然後再問這裏。 –

回答

4

你可以有一個事件監聽器到你的輸入字段,並在每個密鑰上檢查密鑰的值。如果鑰匙是你正在尋找的鑰匙,例如'?'然後獲取該輸入字段的數據並進行進一步處理。

我建議你給你的輸入字段添加一些id,這樣它將是唯一的,你可以很容易地訪問它。

var field = document.getElementById('search'); 
 

 
field.addEventListener('keyup',function(){ 
 
    var searchText = this.value; 
 
    if(searchText.indexOf('?') > -1){//Means there is ? 
 
    var textToProcess = searchText; 
 
    //do anything you want with this 
 
    } 
 

 
})
<input type="text" id="search" name="search">

,如果你想在名稱上,而不是ID事件偵聽器,然後

var field = document.getElementsByName('search')[0]; 

因爲getElementsByName將返回元素集合,你會不得不手動給現場的指數(如果你有多個相同名稱的字段,其他[0]會這樣做)

+0

我改變了代碼,看起來像這樣。我認爲我需要一個重定向的動作,但我不知道該怎麼做。: var field = document.getElementById('search'); field.addEventListener( 'KEYUP',函數(){ VAR SEARCHTEXT = THIS.VALUE; 如果(searchText.indexOf()> -1){//意味着有 VAR textToProcess = SEARCHTEXT '?'?; $(位置).attr( 'href' 屬性, 'answer.html') } }) –

+0

好,對,你可以用'了window.location = 「yourfile.html」'如果你想傳遞參數您可以使用 」?」在url後發送。例如'window.location ='yournewfile.html?question ='+ textToProcess' –

+0

對我而言,它不會重定向到按鍵上的新頁面。並且,調試器說「null不是一個對象,(評估'field.addEventListener')第三行代碼field.addEventListener('keyup',function(){ –

相關問題