2012-12-29 74 views
0

我試圖從兩個問題檢查每個無線電時重定向。 但我使用的以下代碼不起作用。兩個無線電檢查重定向到特定的鏈接。

function chekcSubmitType() 
    { 

     if(document.getElementById('ra').checked, document.getElementById('rc').checked) 
     { 
      window.location="page-1.html"; 
     } 

     if(document.getElementById('ra').checked, document.getElementById('rd').checked) 
     { 
      window.location="page-2.html"; 
     } 

     if(document.getElementById('rb').checked, document.getElementById('rc').checked) 
     { 
      window.location="page-3.html"; 
     } 

     if(document.getElementById('rb').checked, document.getElementById('rd').checked) 
     { 
      window.location="page-4.html"; 
     } 
    } 

我通過使用JavaScript代碼分隔了這兩個問題。

<form name="myquiz" method="post"> 

<p>Question (1)</p> 
     <span>500</span> 
     <input type="radio" id="ra" value="question1"/> 
     <span>1000</span> 
     <input type="radio" id="rb" value="question1"/> 

<!--I have separated these both by using a JavaScript code--> 

<p>Question (2)</p> 
     <span>1500</span> 
     <input type="radio" id="rc" value="question2"/> 
     <span>2000</span> 
     <input type="radio" id="rd" value="question2"/> 

<input type="button" onClick="chekcSubmitType()" value="Go" /> 

</form> 

這裏是我真正想做的事:

(r)爲代表的無線

ra + rc redirect to page-1.html 
ra + rd redirect to page-2.html 
rb + rc redirect to page-3.html 
rb + rd redirect to page-4.html 
+0

調試JavaScript代碼的一個好方法是使用由大多數好的瀏覽器提供的JavaScript控制檯,或[螢火蟲插件(http://getfirebug.com/ firebuglite)。 – knownasilya

回答

0

使用&&運營商...

還利用else if讓你的代碼更好...

function chekcSubmitType() { 

if (document.getElementById('ra').checked && document.getElementById('rc').checked) { 
    window.location = "page-1.html"; 
} 

else if (document.getElementById('ra').checked && document.getElementById('rd').checked) { 
    window.location = "page-2.html"; 
} 

else if (document.getElementById('rb').checked && document.getElementById('rc').checked) { 
    window.location = "page-3.html"; 
} 

else if (document.getElementById('rb').checked && document.getElementById('rd').checked) { 
    window.location = "page-4.html"; 
} 
}​ 

下面是demo

+0

謝謝,但它仍然無法正常工作。 – user1937024

+0

@ user1937024:添加演示代碼.. pls chk .. – Anujith

+0

非常感謝,現在正在工作。 – user1937024

1

如果你想檢查2倍的表達是否屬實,使用&& - 運算符,請勿使用,將它們分開:

function chekcSubmitType()  { 
    if(document.getElementById('ra').checked && document.getElementById('rc').checked) { 
     window.location="page-1.html"; 
    } 

    if(document.getElementById('ra').checked && document.getElementById('rd').checked) { 
     window.location="page-2.html"; 
    } 
    // and so on... 
} 

請參閱此附加信息l有關logical operators的更多信息。

0

Vegar是正確的關於& &運營商,你也應該使用window.location.href =''而不是window.location。 (有些瀏覽器需要.href工作)

function checkSubmitType() 
{ 
    if(document.getElementById('ra').checked && document.getElementById('rc').checked) 
     window.location.href = 'page-1.html'; 
    if(document.getElementById('ra').checked && document.getElementById('rd').checked) 
     window.location.href = 'page-2.html'; 
    if(document.getElementById('rb').checked && document.getElementById('rc').checked) 
     window.location.href = 'page-3.html'; 
    if(document.getElementById('rb').checked && document.getElementById('rd').checked) 
     window.location.href = 'page-4.html'; 
}