繁体   English   中英

html javascript搜索不起作用

[英]html javascript search not working

这是代码:

<style>
.copyrighttoolbox {
  font-size:9px
}
</style>
<script>
function searchFor(searchEngine,searchQuery){
  for (var i = 0; i < searchEngine.length; i++) {
    if (searchEngine[i].type === 'radio' && searchEngine[i].checked) {
      value = searchEngine[i].value;   
    }
  }
  if (value=="google"){
    var x="http://google.com.hk/search?q="+searchQuery;
    window.location.href=x
  }
  if (value=="yahoo"){
    var x="http://hk.search.yahoo.com/search?p="+searchQuery;
    window.location.href=x
  }
  if (value=="bing"){
    var x="http://bing.com/search?q="+searchQuery;
    window.location.href=x
  }
  if (value=="wikipedia"){
    var x="http://en.wikipedia.org/w/index.php?search="+searchQuery;
    window.location.href=x
  }
}
</script>
<form style="border:3px #cccccc dashed;width:400px">
  <select name="searchLoc">
    <option value="google">Google</option>
    <option value="yahoo">Yahoo</option>
    <option value="bing">Bing</option>
    <option value="wikipedia">Wikipedia</option>
  </select>
  <input type="text" name="searchContent">
  <input type="submit" onclick="searchFor(this.form.searchLoc.value,this.form.searchContent.value);return false;" value="Search"><span class="copyrighttoolbox">&nbsp;&nbsp;&nbsp;&nbsp;by tool-box.weebly.com</p>
</form>

这不起作用,提交后的链接变为:

http://tool-box.weebly.com/web-tool.html?searchLoc=google&searchContent=search

我怎么解决这个问题?
任何帮助将不胜感激。

尝试这个。 看起来您正在混淆一些事情,因为searchEngine变量中已经有正确的值。

function searchFor(searchEngine,searchQuery){
  if (searchEngine=="google"){
    var x="http://google.com.hk/search?q="+searchQuery;
    window.location.href=x
  }
  if (searchEngine=="yahoo"){
    var x="http://hk.search.yahoo.com/search?p="+searchQuery;
    window.location.href=x
  }
  if (searchEngine=="bing"){
    var x="http://bing.com/search?q="+searchQuery;
    window.location.href=x
  }
  if (searchEngine=="wikipedia"){
    var x="http://en.wikipedia.org/w/index.php?search="+searchQuery;
    window.location.href=x
  }
}

演示:矮人

描述:

  • 您正在遍历searchEngine而不仅仅是使用从searchEngine按钮的onclick传递的值。
  • 由于此用例的性质,我还将其更改为开关,而不是多个if语句。
  • 接下来,我用;关闭了所有的javascript行; 因为有些东西不见了。
  • 最后,我在函数顶部声明了var x ,这样您就不会收到重复的变量声明警告。

JS

function searchFor(searchEngine,searchQuery){
  var x = "";

  switch(searchEngine)
  {
   case "google":
    x="http://google.com.hk/search?q="+searchQuery;
    alert(x);
    window.location.href=x;
    break;
  case "yahoo":
    x="http://hk.search.yahoo.com/search?p="+searchQuery;
    window.location.href=x;
    break;
  case "bing":
    x="http://bing.com/search?q="+searchQuery;
    window.location.href=x;
    break;
  case "wikipedia":
    x="http://en.wikipedia.org/w/index.php?search="+searchQuery;
    window.location.href=x;
    break;
  }
}

HTML:

<!DOCTYPE html>
<html>

  <head>
    <link rel="stylesheet" href="style.css">
    <script src="script.js"></script>
  </head>

  <body>
    <form style="border:3px #cccccc dashed;width:400px">
      <select name="searchLoc">
        <option value="google">Google</option>
        <option value="yahoo">Yahoo</option>
        <option value="bing">Bing</option>
        <option value="wikipedia">Wikipedia</option>
      </select>
      <input type="text" name="searchContent">
      <input type="submit" onclick="javascript:searchFor(this.form.searchLoc.value,this.form.searchContent.value);return false;" value="Search"><span class="copyrighttoolbox">&nbsp;&nbsp;&nbsp;&nbsp;by tool-box.weebly.com</p>
    </form>
  </body>

</html>

CSS:

.copyrighttoolbox {
    font-size:9px
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM