本文介紹了一個較為通用的獲取 radio 值的方法,希望對新手有用。 代碼如下: <script type="text/javascript"> // 說明: 用 Javascript 驗證表單(form)中的單選(radio)值 // 作者: CodeBit function getRadioValue(radio) { if (!radio.length && radio.type.toLowerCase() == 'radio') { return (radio.checked)?radio.value:''; } if (radio[0].tagName.toLowerCase() != 'input' || radio[0].type.toLowerCase() != 'radio') { return ''; } var len = radio.length; for(i=0; i<len; i++) { if (radio[i].checked) { return radio[i].value; } } return ''; } </script>
radio 和 checkbox 一樣,都是 name 相同,值有多個,在獲取 radio 值的時候,我們不能按照普通文本框 .value 的方式,而是要判斷哪個被選中了。
當一組 radio 有多個選項時,我們可以通過循環,以 radio[i] 的方式判斷某個選項是否被選中來返回值,但是當一組 radio 只有一個選項時,獲取值的方式又有變化,代碼中以 return (radio.checked)?radio.value:''; 這樣的方式直接判斷是否選中,然后返回對應值。
上面的代碼傳入的參數是 radio 對象,如: 代碼如下: var radioTest = document.forms['testForm'].elements['radioTest']; if (getRadioValue(radioTest) == '') { ...... }