2015-11-03 160 views
0

我想要顯示一條消息,如果兩個單選按鈕都不顯示。我一直在研究這個話題,但還沒有找到適合我的答案。單選按鈕驗證錯誤消息

有人可以解釋我的代碼出了什麼問題,以及當這兩個複選框都沒有選中時,是什麼阻止顯示消息?

CODE

<h2 class = "preferences">Preferences</h2> 
<form class="fifthForm"> 
    <p class="special">E-Mail Special Offers:</p> 
    <input id="offersOne" type="radio" name="offers" value="Yes">Yes 
    <input id="offersTwo" type="radio" name="offers" value="No">No 
    <p id="preferenceResult"></p> 
</form> 

JAVASCRIPT

try { 
    var prefname = document.getElementsByName("offers"); 
    if (prefname[0].checked == false && prefname[1].checked == false) { 
    throw "* Please choose a preference!"; 
    } 
} 
catch(prefError) { 
    document.getElementById('preferenceResult').innerHTML = prefError; 
} 
+0

檢查此工作JSFiddle鏈接https://jsfiddle.net/c2y25uwe/ –

回答

0

原來,返回FALSE;正在執行此聲明之前的聲明。我結束了類似的代碼,並刪除了返回false;這樣代碼的其餘部分就會執行。

try { 
     var prefname = document.getElementsByName("offers"); 

     if (prefname[0].checked == false && prefname[1].checked == false) { 
     throw "* Please choose a preference!"; 
     } 
     else { 
     document.getElementById('prefResult').innerHTML = ""; 
     } 
    } 
    catch(prefError) { 
     document.getElementById('prefResult').innerHTML = prefError; 
}