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 相关文章推荐
利用Ext Js生成动态树实例代码
Sep 08 Javascript
js TextArea的选中区域处理
Dec 28 Javascript
用javascript替换URL中的参数值示例代码
Jan 27 Javascript
ExtJS4 表格的嵌套 rowExpander应用
May 02 Javascript
javascript实现点击单选按钮链接转向对应网址的方法
Aug 12 Javascript
jquery带有索引按钮且自动轮播切换特效代码分享
Sep 15 Javascript
js实现页面跳转的五种方法推荐
Mar 10 Javascript
分享十三个最佳JavaScript数据网格库
Apr 07 Javascript
Vue项目中quill-editor带样式编辑器的使用方法
Aug 08 Javascript
javascript设计模式 ? 观察者模式原理与用法实例分析
Apr 22 Javascript
解决在Vue中使用axios POST请求变成OPTIONS的问题
Aug 14 Javascript
微信小程序实现录音Record功能
May 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
cakephp打印sql语句的方法
2015/02/13 PHP
分享50个提高PHP执行效率的技巧
2015/12/26 PHP
PHP微信公众号开发之微信红包实现方法分析
2017/07/14 PHP
浅谈laravel orm 中的一对多关系 hasMany
2019/10/21 PHP
JavaScript类和继承 prototype属性
2010/09/03 Javascript
JavaScript自执行闭包的小例子
2013/06/29 Javascript
table行随鼠标移动变色示例
2014/05/07 Javascript
jquery用data方法获取某个元素上的事件
2014/06/23 Javascript
jquery中cookie用法实例详解(获取,存储,删除等)
2016/01/04 Javascript
jquery.cookie.js实现用户登录保存密码功能的方法
2016/04/15 Javascript
全面解析Bootstrap中form、navbar的使用方法
2016/05/30 Javascript
js 获取当前web应用的上下文路径实现方法
2016/08/19 Javascript
jQuery元素属性操作实例(设置、获取及删除元素属性)
2016/09/08 Javascript
想学习javascript JS和jQuery哪个重要 先学哪个
2016/12/11 Javascript
MUI  Scroll插件的使用详解
2017/04/13 Javascript
jquery Ajax实现Select动态添加数据
2017/06/08 jQuery
js浏览器滚动条卷去的高度scrolltop(实例讲解)
2017/07/07 Javascript
ionic App问题总结系列之ionic点击系统返回键退出App
2017/08/19 Javascript
vue中锚点的三种方法
2018/07/06 Javascript
mpvue 如何使用腾讯视频插件的方法
2018/07/16 Javascript
深入浅析angular和vue还有jquery的区别
2018/08/13 jQuery
vue vantUI实现文件(图片、文档、视频、音频)上传(多文件)
2019/10/15 Javascript
Python实现获取操作系统版本信息方法
2015/04/08 Python
python实现折半查找和归并排序算法
2017/04/14 Python
python NumPy ndarray二维数组 按照行列求平均实例
2019/11/26 Python
CSS3实现歌词进度文字颜色填充变化动态效果的思路详解
2020/06/02 HTML / CSS
正宗的澳大利亚Ugg靴子零售商:UGG Express
2020/04/19 全球购物
教师通用专业自荐书范文
2014/02/11 职场文书
食品安全汇报材料
2014/08/18 职场文书
党政领导班子民主生活会整改措施
2014/09/18 职场文书
委托培训协议书
2014/11/17 职场文书
个人总结格式范文
2015/03/09 职场文书
Nginx解决403 forbidden的完整步骤
2021/04/01 Servers
MySQL触发器的使用
2021/05/24 MySQL
Python基于百度API识别并提取图片中文字
2021/06/27 Python
36个正则表达式(开发效率提高80%)
2021/11/17 Javascript