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 相关文章推荐
javascript 设置文本框中焦点的位置
Nov 20 Javascript
JQuery中dataGrid设置行的高度示例代码
Jan 03 Javascript
jQuery自定义事件的简单实现代码
Jan 27 Javascript
再探JavaScript作用域
Sep 24 Javascript
JavaScript改变CSS样式的方法汇总
May 07 Javascript
浅谈javascript原型链与继承
Jul 13 Javascript
包含中国城市的javascript对象实例
Aug 03 Javascript
javascript实现随机生成DIV背景色
Jun 20 Javascript
p5.js入门教程和基本形状绘制
Mar 15 Javascript
vue-cli3搭建项目的详细步骤
Dec 05 Javascript
Vue中函数防抖节流的理解及应用实现
Apr 24 Javascript
用javascript实现倒计时效果
Feb 09 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/03/29 PHP
php-cli简介(不会Shell语言一样用Shell)
2013/06/03 PHP
基于session_unset与session_destroy的区别详解
2013/06/03 PHP
php验证session无效的解决方法
2014/11/04 PHP
PHP操作FTP类 (上传、下载、移动、创建等)
2016/03/31 PHP
PHP快速排序quicksort实例详解
2016/09/28 PHP
php 类中的常量、静态属性、非静态属性的区别
2017/04/09 PHP
DEFER怎么用?
2006/07/01 Javascript
自适应高度框架 ----属个人收藏内容
2007/01/22 Javascript
Javascript 获取字符串字节数的多种方法
2009/06/02 Javascript
location.search在客户端获取Url参数的方法
2010/06/08 Javascript
超轻量级的基于jquery的三级展开列表
2011/04/26 Javascript
jquery绑定原理 简单解析与实现代码分享
2011/09/06 Javascript
用javascript为页面添加天气显示实现思路及代码
2013/12/02 Javascript
使用百度地图api实现根据地址查询经纬度
2014/12/11 Javascript
Javascript的闭包详解
2014/12/26 Javascript
jQuery对象与DOM对象之间的相互转换
2015/03/03 Javascript
javascript 继承学习心得总结
2016/03/17 Javascript
jQuery实现可编辑表格并生成json结果(实例代码)
2017/07/19 jQuery
jQuery模拟爆炸倒计时功能实例代码
2017/08/21 jQuery
angularJs-$http实现百度搜索时的动态下拉框示例
2018/02/27 Javascript
react 兄弟组件如何调用对方的方法示例
2018/10/23 Javascript
快速对接payjq的个人微信支付接口过程解析
2019/08/15 Javascript
nuxt 实现在其它js文件中使用store的方式
2020/11/05 Javascript
python机器学习实战之K均值聚类
2017/12/20 Python
利用python实现在微信群刷屏的方法
2019/02/21 Python
Gauss-Seidel迭代算法的Python实现详解
2019/06/29 Python
Python如何在循环内使用list.remove()
2020/06/01 Python
好莱坞百老汇御用王牌美妆:Koh Gen Do 江原道
2018/04/03 全球购物
前台领班岗位职责
2013/12/04 职场文书
大学生的自我鉴定范文
2014/01/21 职场文书
考试诚信承诺书
2014/05/23 职场文书
素质教育标语
2014/06/27 职场文书
迎国庆演讲稿
2014/09/05 职场文书
2014年乡镇卫生院工作总结
2014/11/24 职场文书
python Tkinter的简单入门教程
2021/04/11 Python