当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 用 Javascript 验证表单(form)中的单选(radio)值

Javascript
经常用到的JavasScript事件的翻译
Javascript下的keyCode键码值表
用javascript动态调整iframe高度的代码
javascript应用:Iframe自适应其加载的内容高度
javascript 控制弹出窗口
用javascript父窗口控制只弹出一个子窗口
给moz-firefox下添加IE方法和属性
FireFox中textNode分片的问题
对google个性主页的拖拽效果的js的完整注释[转]
身份证号码前六位所代表的省,市,区, 以及地区编码下载
一个友好的.改善的 Object.prototype.toString的实现
如何写一个通用的JavaScript效果库!(1/2)
如何写一个通用的JavaScript效果库!(2/2)
几个高效,简洁的字符处理函数
无语,javascript居然支持中文(unicode)编程!
ie 处理 gif动画 的onload 事件的一个 bug
讲两件事:1.this指针的用法小探. 2.ie的attachEvent和firefox的addEventListener在事件处理上的区别
firefox 和 ie 事件处理的细节,研究,再研究-----书写同时兼容ie和ff的事件处理代码
深入聊聊Array的sort方法的使用技巧.详细点评protype.js中的sortBy方法
JavaScript 中的replace方法说明

用 Javascript 验证表单(form)中的单选(radio)值


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 468 ::
收藏到网摘: n/a

在用 Javascript 验证表单(form)中的单选框(radio)是否选中时,很多新手都会遇到问题,原因是 radio 和普通的文本框在获取值的时候有很大不同. 本文介绍了一个较为通用的获取 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) == '')
{ ...... }

根据判断结果执行你想要的操作。