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 相关文章推荐
createElement动态创建HTML对象脚本代码
Nov 24 Javascript
使用自定义setTimeout和setInterval使之可以传递参数和对象参数
Apr 24 Javascript
JQuery CSS样式控制 学习笔记
Jul 23 Javascript
JSON 数据格式介绍
Jan 13 Javascript
Node.js插件的正确编写方式
Aug 03 Javascript
js 左右悬浮对联广告特效代码
Dec 12 Javascript
JavaScript跨浏览器获取页面中相同class节点的方法
Mar 03 Javascript
浅谈JS继承_借用构造函数 &amp; 组合式继承
Aug 16 Javascript
详谈AngularJs 控制器、数据绑定、作用域
Jul 09 Javascript
利用Vue实现移动端图片轮播组件的方法实例
Aug 23 Javascript
解决$store.getters调用不执行的问题
Nov 08 Javascript
适合后台管理系统开发的12个前端框架(小结)
Jun 29 Javascript
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变量范围介绍
2012/10/15 PHP
Laravel模型间关系设置分表的方法示例
2018/04/21 PHP
“不能执行已释放的Script代码”错误的原因及解决办法
2007/09/09 Javascript
让IE8支持DOM 2(不用框架!)
2009/12/31 Javascript
在javascript中关于节点内容加强
2013/04/11 Javascript
JS获取网页属性包括宽、高等等
2014/04/03 Javascript
javascript学习笔记整理(概述、变量、数据类型简介)
2015/10/25 Javascript
jQuery滚动加载图片实现原理
2015/12/14 Javascript
纯js实现瀑布流布局及ajax动态新增数据
2016/04/07 Javascript
js 自带的 map() 方法全面了解
2016/08/16 Javascript
jQuery Mobile和HTML5开发App推广注册页
2016/11/07 Javascript
EasyUI修改DateBox和DateTimeBox的默认日期格式示例
2017/01/18 Javascript
vue弹窗组件使用方法
2018/04/28 Javascript
详解Vue 多级组件透传新方法provide/inject
2018/05/09 Javascript
Nodejs实现爬虫抓取数据实例解析
2018/07/05 NodeJs
Vue源码解析之Template转化为AST的实现方法
2018/12/14 Javascript
在vue中使用防抖和节流,防止重复点击或重复上拉加载实例
2019/11/13 Javascript
JavaScript实现栈结构Stack过程详解
2020/03/07 Javascript
js实现网页随机验证码
2020/10/19 Javascript
整理Python中的赋值运算符
2015/05/13 Python
浅谈Python2获取中文文件名的编码问题
2018/01/09 Python
对numpy中布尔型数组的处理方法详解
2018/04/17 Python
8种用Python实现线性回归的方法对比详解
2019/07/10 Python
多个python文件调用logging模块报错误
2020/02/12 Python
django 前端页面如何实现显示前N条数据
2020/03/16 Python
HTML5+CSS3 实现灵动的动画 TAB 切换效果(DEMO)
2017/09/15 HTML / CSS
Pretty Little Thing爱尔兰:时尚女性服饰
2017/03/27 全球购物
SmartBuyGlasses比利时:购买品牌太阳镜和眼镜
2019/08/09 全球购物
仓库保管员岗位职责
2013/12/20 职场文书
最新奶茶店创业计划书
2014/01/25 职场文书
2014年财务科工作总结
2014/11/11 职场文书
刑事和解协议书范本
2014/11/19 职场文书
转变工作作风心得体会
2016/01/23 职场文书
2016创先争优活动党员公开承诺书
2016/03/24 职场文书
JUnit5常用注解的使用
2021/07/02 Java/Android
Spring Boot 使用 Spring-Retry 进行重试框架
2022/04/24 Java/Android