2011-08-25 149 views
0

我的頁面上有一個組中有兩個單選按鈕。基於選定的單選按鈕,我想生成警報。根據所選單選按鈕檢查輸入文本是否爲空

var d=GetVal(); 

function GetVal() 
{ 
var a = null; 
var f = document.forms[0]; 
var e = f.elements["radiogroup"]; 

for (var i=0; i < e.length; i++) 
{ 
if (e[i].checked) 
{ 
a = e[i].value; 
break; 
} 
} 
return a; 
} 

在表單驗證時,當iam在if else循環中讀取它時,它總是隻返回第一個單選按鈕值。

if (!checkRadio("form","radiogroup")) 
{ 
alert("none of the option was selected"); 
return false; 
} 
//if one radio option was selected 
else 
{ 
if(d="firstradiovalue"){ 
alert("first radio selected"); 
return false;} 
else{ 
if(d="secondradiovalue"){ 
alert("second radio Selected"); 
return false;} 
} 
} 

在表單提交時,即使我選擇第二個選項,我只會得到警報 - 「選擇第一個廣播」。任何幫助。 Thx提前。

回答

0

您需要使用===

if(d == "firstradiovalue"){ 
    alert("first radio selected"); 

表達d = "firstradiovalue"的返回值是d本身,這是總是如此。

+1

正確,這就是爲什麼很多程序員喜歡扭轉部分:''firstradiovalue'= d'會導致錯誤,使調試更容易。 – Geert

+0

Thx Guys ...你搖滾...... – Sumit

+0

@Geert有趣的檢查,從來沒有見過這種方式! :) –

相關問題