2014-02-28 29 views
0

这是代码:HTML和JavaScript形式不工作

<script> 
    function searchFor(searchEngine,searchQuery){ 
     if (searchEngine="google"){ 
      var x="http://google.com.hk/search?q="+searchQuery; 
      window.location=x 
     } 

     if (searchEngine="yahoo"){ 
      var x="http://hk.search.yahoo.com/search?p="+searchQuery; 
      window.location=x 
     } 
    } 
</script> 

<form> 
    <input type="radio" name="searchLoc" value="google"> Google <input type="radio" name="searchLoc" value="yahoo"> Yahoo 
    <br> 
    <input type="text" name="searchContent"> 
    <input type="submit" onclick="searchFor(this.form.searchLoc.value,this.form.searchContent.value);return false;" value="Search" 
</form> 

为什么不工作?

一旦我点击提交按钮,什么都没有发生。

请帮忙。谢谢。

回答

1

某些错误

一个)它应该是window.location.href

B)关闭提交按钮标签

c)中使用 '==' 等于为对比

<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 
     } 
    } 
    </script> 

    <form> 
    <input type="radio" name="searchLoc" value="google"> Google <input type="radio" name="searchLoc" value="yahoo"> Yahoo 
    <br><input type="text" name="searchContent"> 
    <input type="submit" onclick="searchFor(this.form.searchLoc,this.form.searchContent.value);return false;" value="Search" /> 
</form> 
+0

无法正常工作。 http://jsfiddle.net/4vR2X/ – Jamie

+1

editted的答案,现在肯定会工作 – sanjeev

+0

这是好的,很酷,可以使用 – Jamie

2

你应该写

<script> 
function searchFor(searchEngine,searchQuery){ 
if (searchEngine=="google"){ 
var x="http://google.com.hk/search?q="+searchQuery; 
window.location=x 
} 
if (searchEngine=="yahoo"){ 
var x="http://hk.search.yahoo.com/search?p="+searchQuery; 
window.location=x 
} 
} 
</script> 
比较

'==',而不是 '='

更改提交按钮也

<input type="submit" onclick="searchFor(this.form.searchLoc.value,this.form.searchContent.value);return false;" value="Search" /> 
+0

无法正常工作。 http://jsfiddle.net/kNGRL/ – Jamie

+0

我编辑了我的代码。核实。 –

0

代替:

if (searchEngine="google") 

试试这个:

if (searchEngine === "google") 
0
<script type="text/javascript"> 
function searchFor(searchEngine,searchQuery){ 
    if (searchEngine=="google"){ 
     var x="http://google.com.hk/search?q="+searchQuery; 
     window.location=x 
    } 
    if (searchEngine=="yahoo"){ 
     var x="http://hk.search.yahoo.com/search?p="+searchQuery; 
     window.location=x; 
    } 
} 
</script> 

<form onsubmit="searchFor(this.form.searchLoc.value,this.form.searchContent.value);return false;"> 
<input type="radio" name="searchLoc" value="google"> Google <input type="radio" name="searchLoc" value="yahoo"> Yahoo 
<br><input type="text" name="searchContent"> 
<input type="submit" value="Search"/> 
</form> 

修改代码为ABO五个。 searchEngine =“google”应该是searchEngine ==“google”,并使用onsubmit标记而不是onclick提交按钮。