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-easyui关闭tab自动切换到前一个tab
Jul 29 Javascript
php is_numberic函数造成的SQL注入漏洞
Mar 10 Javascript
js实现跨域访问的三种方法
Dec 09 Javascript
jquery $.trim()去除字符串空格的实现方法【附图例】
Mar 30 Javascript
js+canvas实现动态吃豆人效果
Mar 22 Javascript
JS+HTML5实现上传图片预览效果完整实例【测试可用】
Apr 20 Javascript
关于javascript作用域的常见面试题分享
Jun 18 Javascript
JS仿QQ好友列表展开、收缩功能(第一篇)
Jul 07 Javascript
BootStrap给table表格的每一行添加一个按钮事件
Sep 07 Javascript
基于vue.js实现的分页
Mar 13 Javascript
vue实现todolist功能、todolist组件拆分及todolist的删除功能
Apr 11 Javascript
原生JavaScript实现幻灯片效果
Feb 19 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
Windows下PHP的任意文件执行漏洞
2006/10/09 PHP
PHP文件上传小程序 适合初学者学习!
2019/05/23 PHP
JS中的public和private对象,即static修饰符
2012/01/18 Javascript
面向对象的Javascript之二(接口实现介绍)
2012/01/27 Javascript
Javascript 中 null、NaN和undefined的区别总结
2013/04/10 Javascript
各种页面定时跳转(倒计时跳转)代码总结
2013/10/24 Javascript
fmt:formatDate的输出格式详解
2014/01/09 Javascript
jquery实现的鼠标拖动排序Li或Table
2014/05/04 Javascript
NodeJS学习笔记之Http模块
2015/01/13 NodeJs
HTML5实现留言和回复页面样式
2015/07/22 Javascript
js倒计时简单实现方法
2015/12/17 Javascript
Seajs 简易文档 提供简单、极致的模块化开发体验
2016/04/13 Javascript
angularjs 源码解析之injector
2016/08/22 Javascript
js数组操作方法总结(必看篇)
2016/11/22 Javascript
用file标签实现多图文件上传预览
2017/02/14 Javascript
ES6 Promise对象概念与用法分析
2017/04/01 Javascript
微信小程序中的swiper组件详解
2017/04/14 Javascript
微信小程序 动态传参实例详解
2017/04/27 Javascript
利用JS测试目标网站的打开响应速度
2017/12/01 Javascript
JavaScript设计模式之观察者模式实例详解
2019/01/16 Javascript
jQuery中实现text()的方法
2019/04/04 jQuery
layui+jquery支持IE8的表格分页方法
2019/09/28 jQuery
JS实现点星星消除小游戏
2020/03/24 Javascript
Vue2.0 $set()的正确使用详解
2020/07/28 Javascript
JS实现拖动模糊框特效
2020/08/25 Javascript
vue axios请求成功却进入catch的原因分析
2020/09/08 Javascript
ES2020让代码更优美的运算符 (?.) (??)
2021/01/04 Javascript
Python 如何访问外围作用域中的变量
2016/09/11 Python
Python使用pyh生成HTML文档的方法示例
2018/03/10 Python
pytorch对可变长度序列的处理方法详解
2018/12/08 Python
python写一个随机点名软件的实例
2019/11/28 Python
英国在线泳装店:Simply Swim
2019/05/05 全球购物
《草原》教学反思
2014/02/15 职场文书
博士毕业生自我鉴定范文
2014/04/13 职场文书
普通党员个人剖析材料
2014/10/08 职场文书
一篇文章弄清楚Ajax请求的五个步骤
2022/03/17 Javascript