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 相关文章推荐
jQuery News Ticker 基于jQuery的即时新闻行情展示插件
Nov 05 Javascript
JQuery验证工具类搜集整理
Jan 16 Javascript
JS在TextArea光标位置插入文字并实现移动光标到文字末尾
Jun 21 Javascript
基于jQuery实现仿百度首页换肤背景图片切换代码
Aug 25 Javascript
JavaScript代码实现禁止右键、禁选择、禁粘贴、禁shift、禁ctrl、禁alt
Nov 17 Javascript
谈谈jQuery Ajax用法详解
Nov 27 Javascript
Svg.js实例教程及使用手册详解(一)
May 16 Javascript
微信小程序 wx.request(接口调用方式)详解及实例
Nov 23 Javascript
vue.js给动态绑定的radio列表做批量编辑的方法
Feb 28 Javascript
Canvas实现微信红包照片效果
Aug 21 Javascript
React 使用recharts实现散点地图的示例代码
Dec 07 Javascript
JavaScript数组常用的增删改查与其他属性详解
Oct 13 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简单静态页生成过程
2008/03/27 PHP
php 静态页面中显示动态内容
2009/08/14 PHP
PHP使用递归生成文章树
2015/04/21 PHP
CL vs ForZe BO5 第一场 2.13
2021/03/10 DOTA
javascript 鼠标滚轮事件
2009/04/09 Javascript
IE JS编程需注意的内存释放问题
2009/06/23 Javascript
javascript自定义函数参数传递为字符串格式
2014/07/29 Javascript
Javascript 实现图片无缝滚动
2014/12/19 Javascript
JS实现可展开折叠层的鼠标拖曳效果
2015/10/09 Javascript
javascript创建对象、对象继承的实用方式详解
2016/03/08 Javascript
Bootstrap组件(一)之菜单
2016/05/11 Javascript
React项目动态设置title标题的方法示例
2018/09/26 Javascript
详解一个基于套接字实现长连接的express
2019/03/28 Javascript
详解Vue后台管理系统开发日常总结(组件PageHeader)
2019/11/01 Javascript
js 计数排序的实现示例(升级版)
2020/01/12 Javascript
使用 Opentype.js 生成字体子集的实例代码详解
2020/05/25 Javascript
Vue切换div显示隐藏,多选,单选代码解析
2020/07/14 Javascript
OpenCV+Python识别车牌和字符分割的实现
2019/01/31 Python
浅析Windows 嵌入python解释器的过程
2019/07/26 Python
django之自定义软删除Model的方法
2019/08/14 Python
Keras 数据增强ImageDataGenerator多输入多输出实例
2020/07/03 Python
python爬虫数据保存到mongoDB的实例方法
2020/07/28 Python
jupyter notebook更换皮肤主题的实现
2021/01/07 Python
pytorch __init__、forward与__call__的用法小结
2021/02/27 Python
css3 position fixed固定居中问题解决方案
2014/08/19 HTML / CSS
锐步美国官方网站:Reebok美国
2018/01/10 全球购物
俄罗斯在线手表和珠宝商店:AllTime
2019/09/28 全球购物
某公司.Net方向面试题
2014/04/24 面试题
实习教师个人的自我评价
2013/11/08 职场文书
人事助理岗位职责
2013/11/18 职场文书
电气专业推荐信范文
2013/11/18 职场文书
培训专员岗位职责
2014/02/26 职场文书
加多宝凉茶广告词
2014/03/18 职场文书
学习优秀党员杨宗兴先进事迹材料思想汇报
2014/09/14 职场文书
2015世界地球日活动总结
2015/02/09 职场文书
2015年事业单位办公室文员工作总结
2015/04/24 职场文书