`

js获得前台选择的值

阅读更多
一、获取下拉列表选中项的值和文本(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="所选文本"   onclick="alert(getSelectedText('myselect'));" />
<input type="button"   value="所选值" onclick="alert( getSelectedValue('myselect'));" />
</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" onclick="alert('result:'+getRadio(this.form.oper));">      
<br>
alert('result:'+getRadio(document.getElementById('oper')))
<input type="button" name="test2" value="按钮2" onclick="alert('result:'+getRadio(document.getElementById('oper')));">
<br>
alert(this.form.oper.value)
<input type="button" name="test3" value="按钮3" onclick="alert(this.form.oper.value);">
<br>
changeRadio(this.form.oper,"上报")
<input type="button" name="test4" value="按钮4" onclick="changeRadio(this.form.oper,'report');"> 
<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" onclick="alert(this.form.slt.value);">
<br>
document.getElementById('slt')[2].innerText)
<input type="button" name="test6" value="按钮6" onclick="alert(document.getElementById('slt')[2].innerText);">


</form>
</body>
分享到:
评论

相关推荐

    javascript+我的第一个前台页面完全验证

    首先,你需要理解JavaScript的基本语法,包括变量声明(`var`、`let`、`const`)、数据类型(字符串、数字、布尔值、数组、对象等)、条件语句(`if...else`、`switch`)、循环(`for`、`while`、`do...while`)以及...

    怎么获得gridview 字段值

    本文将详细介绍如何在前台设置好GridView后,在后台代码中获取GridView中的值。 ### 前台GridView设置 首先,我们来看一下前台的GridView是如何设置的。以下是一个示例代码: ```xml (Container.Data...

    aspx后台传递Json到前台的两种接收方法推荐

    反之,如果需要对返回的Json数据进行额外的处理或者想要获得更大的控制权,可以选择手动解析Json数据的方式。此外,还有其他一些安全性和性能相关的考虑,比如确保传输的Json数据是经过验证和清洗的,防止XSS攻击等...

    javaScript如何处理从java后台返回的list

    但js中想获取它并操作它。直接使用EL表达式,js把它识别成字符串了。不是我想要的啊。。网上搜了搜大家的解决方案…最好的当然是把List集合转成json格式传到界面上。这样js里面操作也简单,页面也没有影响。 解决: ...

    一元夺宝主页设计_微信小程序模板js代码前台前端H5页面源码.rar

    一元夺宝是一种基于概率的购物模式,用户支付小额金额(如一元)购买商品的资格,当商品的总参与金额达到预设值时,通过随机算法确定一名幸运用户获得该商品。这种模式凭借其新颖性和刺激性吸引了大量用户参与。 在...

    前台框架API和示例

    ### 前台框架API和示例:QuickUI框架详解 #### 一、QuickUI框架简介 QuickUI(以下简称QUI)是一款高效的前端界面集成框架,它提供了完整的BS模式系统界面解决方案,非常适合设计和开发Web应用的专业人员使用。该...

    javaScript高级编程

    随着前端技术的发展,JavaScript的高级编程能力也得到了不断增强,提供了更加丰富的API来控制浏览器行为,操作文档对象模型(DOM),以及与后端进行数据通信。 根据文件内容,我们可以把知识点分为几个主要部分: ...

    Spring schedule定时任务前台界面配置源代码 v1.1-可直接打开看效果-附CURD集成说明

    解压得到名为"schedule"的目录 2、打开界面。双击里面的schedule v1.1.html打开 3、解除限制。单击浏览器弹出框“允许阻止的内容”,可以看到效果 功能说明: 界面采用bootstrap和JEasyUI技术实现,提供三种任务运行...

    【ASP.NET编程知识】总结ASP.NET C#中经常用到的13个JS脚本代码.docx

    JavaScript(JS)是ASP.NET中常用的脚本语言之一,用于实现客户端的交互操作。本文将总结ASP.NET C#中经常用到的13个JS脚本代码,旨在帮助开发者快速掌握JS脚本的应用。 一、按钮前后台事件 在ASP.NET中,按钮的...

    js前台判断开始时间是否小于结束时间

    本次我们将详细介绍如何使用JavaScript前台判断开始时间是否小于结束时间,并结合jQuery简化DOM操作。 首先,要实现这样的功能,我们需要通过jQuery来获取用户输入的开始时间和结束时间。在上述提供的代码片段中,...

    精通JS脚本之ExtJS框架.part1.rar

    6.4.3 CSS值元素选择符 6.4.4 Ext.query与Ext.select 6.5 应用模板 6.5.1 Ext.Template 6.5.2 Ext.XTemplate 第7章 设计表单类布局 7.1 Form表单简介 7.1.1 Form表单的基本配置 7.1.2 ExtJS对Form表单的封装...

    精通JS脚本之ExtJS框架.part2.rar

    6.4.3 CSS值元素选择符 6.4.4 Ext.query与Ext.select 6.5 应用模板 6.5.1 Ext.Template 6.5.2 Ext.XTemplate 第7章 设计表单类布局 7.1 Form表单简介 7.1.1 Form表单的基本配置 7.1.2 ExtJS对Form表单的封装...

    JavaScript跨域总结与解决办法

    ### JavaScript跨域总结与解决办法 #### 跨域的基本概念 跨域问题源自于浏览器的安全策略之一——**同源策略**。同源策略是浏览器为了防止恶意网站通过脚本访问其他网站的数据而采取的一种安全措施。它规定了一个...

    总结ASP.NET C#中经常用到的13个JS脚本代码

    6. 传值到模态窗口并得到传回的值 使用`showModalDialog`方法打开模态窗口,并从窗口传回值到父页面。 ```javascript var EnCodeQueryName = escape(Name); var strPara = "dialogWidth:400px;dialogHeight:400px;...

    layui 富文本赋值,取值,取纯文本值的实例

    具体来说,我们首先需要引入layui的CSS样式文件和JavaScript文件,然后使用layedit.use方法加载layedit模块。之后,我们通过layedit.build方法构建一个编辑器实例,并将id为“demo”的textarea元素转换成富文本编辑...

    ASP.NET中MVC从后台控制器传递数据到前台视图的方式

    接着,通过调用GetData方法获得CalendarEvent类型对象的列表,最后将这个列表序列化为JSON格式的数据并返回。 *** MVC框架提供多种方式在控制器和视图之间传递数据。上面示例中的JsonResult方法是其中一种。除了...

    Html-JavaScriptHelper帮助类.zip

    解码得到url值 编码传入url JavaScript客户端脚本输出帮助类 弹出信息,并跳转指定页面。 弹出信息,并返回历史页面 弹出信息 并指定到父窗口 注册脚本块 返回把指定链接地址显示模态窗口的脚本 把指定链接地址显示...

    前端项目-visibly.js.zip

    3. **事件处理**:`visibly.js` 会自动处理`visibilitychange`事件,确保在任何浏览器下,当页面可见性状态改变时,开发者注册的回调函数都能得到正确的调用。 4. **性能优化**:通过利用页面可见性API,开发者可以...

    webupload上传照片,获得照片旋转角度,提交后台进行旋转

    webupload上传照片,前台获得照片的exif信息中的orientation属性的值,提交后台进行旋转

    .NET中TextBox控件设置ReadOnly=true后台取不到值三种解决方法

    具体来说,如果前台页面通过脚本(如JavaScript)给ReadOnly属性为true的TextBox赋值,后台代码(如C#)在尝试获取这个TextBox的Text属性时,将得到一个空值。这可能与微软设计.NET的初衷有关,他们可能想限制用户对...

Global site tag (gtag.js) - Google Analytics