js 获取服务器控件值的代码


Posted in Javascript onMarch 05, 2010

一、获取下拉列表选中项的值和文本(select)
代码 select.htm 示例如下:

<html> 
<head><title>获取下拉列表选中项的值和文本(select)</title></head> 
<body> 
<script> 
//获取下拉列表选中项的文本 
function getSelectedText(name){ 
var obj=document.getElementById(name); 
for(i=0;i<obj.length;i++){ 
if(obj[i].selected==true){ 
return obj[i].innerText; //关键是通过option对象的innerText属性获取到选项文本 
} 
} 
} 
//获取下拉列表选中项的值 
function getSelectedValue(name){ 
var obj=document.getElementById(name); 
return obj.value; //如此简单,直接用其对象的value属性便可获取到 
} 
</script> 
<select id="myselect"> 
<option value="fist">1</option> 
<option value="second">2</option> 
<option value="third">3</option> 
</select> 
<input type="button" value="所选文本" /> 
<input type="button" value="所选值" /> 
</body> 
</html>

二、获取单选按钮(radio)组的值和修改选中项
看到很多帖子里说js获取单选按钮(radio)组的值可以直接用document.getElementById("oper").value,虽然跟单选按钮组一样的下拉列表(也是列表项的数组)也是一个数组,用这种方式可以获到下拉列表的值,但是单选按钮组却获不到所选的值。仔细研究了下,总结如下:
与下拉列表不同,单选按钮须用this.form.oper或者document.getElementsByName('oper')方式获取该数组对象,document.getElementById('oper')不能获取该数组对象(select可以)。而且要获取值须通过一循环判断获取,不能直接用.value(select可以)。而要改变单选按钮组的选中项,也须用循环判断改变各个单选按钮的value。
测试代码radio.html 如下: 
<html> 
<head></head> 
<script language="javascript"> 
//求单选按纽的值,适用单选项及多选项。未选返回false;有选择项,返回选项值。 
function getRadio(oRadio){ 
var oRadioLength= oRadio.length; 
var oRadioValue = false; 
//alert("oRadioLength:["+oRadioLength+"]"); 
if (oRadioLength== undefined){ 
if (oRadio.checked){ 
oRadioValue = oRadio.value; 
} 
}else{ 
for (i=0;i<oRadioLength;i++){ 
//alert("oRadio["+i+"]:"+oRadio[i].checked+"/"+oRadio[i].value); 
if (oRadio[i].checked){ 
oRadioValue = oRadio[i].value; 
break; 
} 
} 
} 
return oRadioValue; 
} 
//方法改进: 
//求单选按纽的值,传radio名字作为参数。未选返回false;有选择项,返回选项值。 
function getRadioValue(name){ 
var radioes = document.getElementsByName(name); 
for(var i=0;i<radioes.length;i++) 
{ 
if(radioes[i].checked){ 
return radioes[i].value; 
} 
} 
return false; 
} 
//通过值修改所选中的单选按钮 
function changeRadio(oRadio,oRadioValue){ //传入一个对象 
for(var i=0;i<oRadio.length;i++) //循环 
{ 
if(oRadio[i].value==oRadioValue) //比较值 
{ 
oRadio[i].checked=true; //修改选中状态 
break; //停止循环 
} 
} 
} 
//改进: 
//通过值修改所选中的单选按钮 
function setRadio(name,sRadioValue){ //传入radio的name和选中项的值 
var oRadio = document.getElementsByName(name); 
for(var i=0;i<oRadio.length;i++) //循环 
{ 
if(oRadio[i].value==sRadioValue) //比较值 
{ 
oRadio[i].checked=true; //修改选中状态 
break; //停止循环 
} 
} 
} 
</script> 
<body> 
<form name="frm"> 
<input type="radio" name="oper" value="agree" >同意</td> 
<input type="radio" name="oper" value="downchange" checked>下发修改</td> 
<input type="radio" name="oper" value="refuse">拒保</td> 
<input type="radio" name="oper" value="report" >上报 </td> 
[br] 
alert('result:'+getRadio(this.form.oper)) 
<input type="button" name="test1" value="按钮1" > 
[br] 
alert('result:'+getRadio(document.getElementById('oper'))) 
<input type="button" name="test2" value="按钮2" > 
[br] 
alert(this.form.oper.value) 
<input type="button" name="test3" value="按钮3" > 
[br] 
changeRadio(this.form.oper,"上报") 
<input type="button" name="test4" value="按钮4" > 
[br][br][br][br] 
<select id="slt"> 
<option value="agree" >同意</option> 
<option value="downchange" selected>下发修改</option> 
<option value="refuse">拒保</option> 
<option value="report">上报</option> 
</select> 
[br] 
alert(this.form.slt.value) 
<input type="button" name="test5" value="按钮5" > 
[br] 
document.getElementById('slt')[2].innerText) 
<input type="button" name="test6" value="按钮6" > 
</form> 
</body> 
</html>
Javascript 相关文章推荐
线路分流自动跳转代码;希望对大家有用!
Dec 02 Javascript
推荐17个优美新鲜的jQuery的工具提示插件
Sep 14 Javascript
Jquery each方法跳出循环,并获取返回值(实例讲解)
Dec 12 Javascript
JS+CSS实现简单滑动门(滑动菜单)效果
Sep 19 Javascript
jquery实现二级导航下拉菜单效果
Dec 18 Javascript
使用pcs api往免费的百度网盘上传下载文件的方法
Mar 17 Javascript
javascript HTML5 Canvas实现圆盘抽奖功能
Apr 11 Javascript
利用Mongoose让JSON数据直接插入或更新到MongoDB
May 03 Javascript
vue自定v-model实现表单数据双向绑定问题
Sep 03 Javascript
浅谈一个webpack构建速度优化误区
Jun 24 Javascript
浅谈Vue组件单元测试究竟测试什么
Feb 05 Javascript
vue如何在data中引入图片的正确路径
Jun 05 Vue.js
jquery checkbox全选、取消全选实现代码
Mar 05 #Javascript
javascript 隐藏/显示指定的区域附HTML元素【legend】用法
Mar 05 #Javascript
ExtJS 工具栏 分页事件参数
Mar 05 #Javascript
Microsoft Ajax Minifier 压缩javascript的方法
Mar 05 #Javascript
javascript 浏览器检测代码精简版
Mar 04 #Javascript
前端开发部分总结[兼容性、DOM操作、跨域等](持续更新)
Mar 04 #Javascript
jquery与google map api结合使用 控件,监听器
Mar 04 #Javascript
You might like
PHP获取QQ达人QQ信息的方法
2015/03/05 PHP
PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)
2016/11/15 PHP
老生常谈文本文件和二进制文件的区别
2017/02/27 PHP
PHP substr()函数参数解释及用法讲解
2017/11/23 PHP
PPK 谈 JavaScript 的 this 关键字 [翻译]
2009/09/29 Javascript
JS 自定义函数缺省值的设置方法
2010/05/05 Javascript
web的各种前端打印方法之jquery打印插件PrintArea实现网页打印
2013/01/09 Javascript
jquery form表单序列化为对象的示例代码
2014/03/05 Javascript
js读取csv文件并使用json显示出来
2015/01/09 Javascript
jQuery设置和移除文本框默认值的方法
2015/03/09 Javascript
JS事件添加和移出的兼容写法示例
2016/06/20 Javascript
vue中遇到的坑之变化检测问题(数组相关)
2017/10/13 Javascript
微信小程序实现的涂鸦功能示例【附源码下载】
2018/01/12 Javascript
修改Nodejs内置的npm默认配置路径方法
2018/05/13 NodeJs
引入外部js脚本加载慢与页面白屏问题的解决
2018/12/10 Javascript
javascript二维数组和对象的深拷贝与浅拷贝实例分析
2019/10/26 Javascript
Vue退出登录时清空缓存的实现
2019/11/12 Javascript
node.js通过Sequelize 连接MySQL的方法
2020/12/28 Javascript
利用python画一颗心的方法示例
2017/01/31 Python
Python制作豆瓣图片的爬虫
2017/12/28 Python
python字符串的方法与操作大全
2018/01/30 Python
详解python3中zipfile模块用法
2018/06/18 Python
Python实现查询某个目录下修改时间最新的文件示例
2018/08/29 Python
ubuntu 18.04 安装opencv3.4.5的教程(图解)
2019/11/04 Python
python 星号(*)的多种用途
2020/09/21 Python
巴西最大的在线约会网站:ParPerfeito
2018/07/11 全球购物
亚洲最大的眼镜批发商和零售商之一:Glasseslit
2018/10/08 全球购物
幼儿园大班评语大全
2014/04/17 职场文书
卖车协议书范本4篇
2014/10/01 职场文书
党的群众路线教育实践活动整改落实情况报告
2014/10/28 职场文书
社区灵活就业证明
2014/11/03 职场文书
房产公证书格式
2015/01/26 职场文书
推荐信范文大全
2015/03/27 职场文书
民事诉讼答辩状范文
2015/05/21 职场文书
Promise面试题详解之控制并发
2021/05/14 面试题
Golang的继承模拟实例
2021/06/30 Golang