2014-02-28 25 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提交按鈕。