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 相关文章推荐
accesskey 提交
Jun 26 Javascript
javascript 判断数组是否已包含了某个元素的函数
May 30 Javascript
JavaScript高级程序设计 扩展--关于动态原型
Nov 09 Javascript
js 得到文件后缀(通过正则实现)
Jul 08 Javascript
JS Array创建及concat()split()slice()的使用方法
Jun 03 Javascript
利用jquery实现验证输入的是否是数字、小数,包含保留几位小数
Dec 07 Javascript
js判断手机系统是android还是ios
Mar 07 Javascript
Require.JS中的几种define定义方式示例
Jun 01 Javascript
JS实现字符串去重及数组去重的方法示例
Apr 21 Javascript
Less 安装及基本用法
May 05 Javascript
JavaScrip数组去重操作实例小结
Jun 20 Javascript
jQuery插件simplePagination的使用方法示例
Apr 28 jQuery
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程序猿都应该拜读的书
2014/12/31 PHP
php+ajax无刷新分页实例详解
2015/12/07 PHP
PHP微信支付实例解析
2016/07/22 PHP
PHP读取XML格式文件的方法总结
2017/02/27 PHP
JavaScript 获取用户客户端操作系统版本
2009/08/25 Javascript
jQuery实现延迟跳转的方法
2015/06/05 Javascript
jquery实现隐藏在左侧的弹性弹出菜单效果
2015/09/18 Javascript
10个很棒的jQuery代码片段
2015/09/24 Javascript
jQuery each函数源码分析
2016/05/25 Javascript
AngularJS 中的Promise --- $q服务详解
2016/09/14 Javascript
在点击div中的p时,如何阻止事件冒泡
2017/02/07 Javascript
Angular 1.x个人使用的经验小结
2017/07/19 Javascript
Vue+webpack项目基础配置教程
2018/02/12 Javascript
Vue头像处理方案小结
2018/07/26 Javascript
vue实现可视化可拖放的自定义表单的示例代码
2019/03/20 Javascript
JQuery使用属性addClass、removeClass和toggleClass实现增加和删除类操作示例
2019/11/18 jQuery
JavaScript实现随机点名程序
2020/03/25 Javascript
通过滑动翻页效果实现和移动端click事件问题
2021/01/26 Javascript
[01:14]TI珍贵瞬间系列(六):冠军
2020/08/30 DOTA
Zabbix实现微信报警功能
2016/10/09 Python
Python+selenium实现截图图片并保存截取的图片
2018/01/05 Python
使用Flask集成bootstrap的方法
2018/07/24 Python
python aiohttp的使用详解
2019/06/20 Python
CSS3 圆角效果
2009/07/15 HTML / CSS
Html5新增标签与样式及让元素水平垂直居中
2019/07/11 HTML / CSS
HTML5 标准将把互联网视频扔回到黑暗时代
2010/02/10 HTML / CSS
美国工业用品采购网站:Zoro.com
2020/10/27 全球购物
外贸业务员求职信范文
2013/12/12 职场文书
做一个有道德的人活动实施方案
2014/08/23 职场文书
社区党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
反四风个人对照检查材料
2014/09/26 职场文书
2014年学生工作总结
2014/11/20 职场文书
居住证明范文
2015/06/17 职场文书
运动会开幕式致辞
2015/07/29 职场文书
大队委员竞选稿
2015/11/20 职场文书
《帝国时代4》赛季预告 新增内容编译器可创造地图
2022/04/03 其他游戏