如何在“?”后将搜索词重定向到新页面进入?

时间:2017-05-25 09:48:55

标签: javascript html css forms search

我正在构建一个带搜索功能的引擎,并且在用户点击“?”后,我会将其查询重定向到答案页面。键。

E.G。

  1. 查询中的用户类型。什么是4 + 4

  2. 跟进“?”。

  3. 转换出现,然后重定向到新页面,上面有问题和答案。

  4. 这是我到目前为止的代码:

    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或其他编码技巧是否能够最好地满足我的目标。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分: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]会这样做)