jsp获取radio的值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsp获取radio的值相关的知识,希望对你有一定的参考价值。

我现在在jsp中这样一个radio:
<input type="radio" name="keyMan" value=""/>是
<input type="radio" name="keyMan" value=""/>否
我在后台返回一个“是”,请问我怎么在页面上显示选择在是上?

首先你的代码是有问题的,你选“是”还是“否”的标准时你的value值,然而你的value值现在都是空字符串。你这样写

在后台不要返回是,返回数字1或者0赋值给变量i。
<%int i = request.getParameter("value");%>
<input type="radio" name="keyMan" value="1" <%if(i==1)out.print("select"); %>/>是
<input type="radio" name="keyMan" value="0" <%if(i==1)out.print("select"); %>/>否
这样你就可以动态的控制radio的默认选择了。
参考技术A 首先你的代码是有问题的,你选“是”还是“否”的标准时你的value值,然而你的value值现在都是空字符串。你这样写
在后台不要返回是,返回数字1或者0赋值给变量i。
<%int
i
=
request.getParameter("value");%>
<input
type="radio"
name="keyMan"
value="1"
<%if(i==1)out.print("select");
%>/>是
<input
type="radio"
name="keyMan"
value="0"
<%if(i==1)out.print("select");
%>/>否
这样你就可以动态的控制radio的默认选择了。
参考技术B 首先要获得radio的数组。然后遍历该数组找到checked()的那个radio。最后.value获得值,就这么简单。 参考技术C 用脚本吧:

var keyManValue = 你从后台得到的值

var radios = document.getElementsByName("keyMan");
for(var i=0;i<radios.length;i++)
if(keyManValue='是’)
radios[0].checked = true;
else
radios[1].checked = true;

参考技术D 可以通过元素的name属性,获取到相同的值,只会根据radio的checked属性来获取到被选中的元素:
<form action="c.jsp"onsubmit="check();">
<input type=radio name="a" value=0>0
<input type=radio name="a" value=1>1
<input type=radio name="b" value=0>0
</form>

<script type="text/javascript">
function check()
var i,flag=0;
var obj1=document.getElementsByName("a");
for(i=0;i<obj1.length;i++)
if(obj1[i].checked)
flag=1;

如何在html中获取被选中的radio的值

一般来说,就是使用遍历的方法,判断每个Radio是否被选中,如果是,再取其值.

1:找出网页中所有控件的name为"rdPort" 的控件,再遍历判断
var ip="";
var rPort = document.all.rdPort;
for(i=0;i<rPort.length;i++)

if(rPort[i].checked)
ip=rPort[i].value;

和这个相似的还有另一种:
2: var ip="";
var rPort = document.getElementsByName("rdPort");
for(i=0;i<rPort.length;i++)

if(rPort[i].checked)
ip=rPort[i].value;

这两种的差别为::      1为有多个raido时的方法,如果只有一个radio的情况下,则可以直接用ip=document.all.rdPort.value.这时候问题出现了,我们在进行web编程时,经常碰到这样一种场景:即我们事先不知道页面中有多少个radio,也就是说radio的个数是根据数据库中满足某一条件的记录数目决定的.这时候用上面1的方法就不行了.经过研究,发现用下面2的方法可行,是比较通用的.

使用2: 这样不管从数据库中取出的记录是一条还是多条,都可以统一进行处理.比较该段代码和上边那段代码的区别在于:var rPort=document.getElementsByName("rdPort");这一句上边那段代码中是var rPort = document.all.rdPort.我们知道document.getElementsByName("rdPort")就是得到一个数组,该数组中的元素是该dom树中所有name为rdPort的元素,即使只有一个radio,也是一个只包含一个元素的数组.而document.all.rdPort则不同,它是得到页面中的rdPort元素的引用,当页面中存在多个radio时,它返回的是一个数组,如果页面中只包含一个radio,则得到的就是这个radio对象的引用.由于这时得到的不是一个数组,因此就不能遍历数组来进行判断了.所以通用的方法还是用document.getElementsByName方法来实现.

注意:,在2中,不可以用getElementById,来代替getElementsByName,因为getElementById只能选取单个控件.

3:一般来说,我喜欢做成函数,所以,也把这个函数做成函数吧,如下:

function   getRadioBoxValue(radioName)

var obj = document.getElementsByName(radioName);             //这个是以标签的name来取控件
for(i   =   0;   i   <   obj.length;   i++)   
if(obj[i].checked)   
return   obj[i].value;


return "undefined";
  

4:javascript radio 全选禁用与取消 ==>实现原理相似,找到所有的radio,遍历设置为禁用,或者选择,或者其它什么,这个就不详细说了,按照上面的方法,在for里换成相应的代码,来达到全选择,或者反选,等

<script language="javascript">
function checkall(form)//这里是实现设置某一个form里可用不可用

for(var i=0;i<form.elements.length-2;i++)

var e=form.elements[i];
if(e.type=='radio')
e.disabled=form.radio[0].checked;


</script>

http://www.busfly.cn/post/javascript-Radio-value.html

keywords: JavaScript, input, radio, checked, value

参考技术A

思路:在html中获取被选中的radio的值,即用getElementsByName() 方法可返回带有指定名称的对象的集合进行判断。

步骤如下:

radio代码片断:

<input type="radio" name="a1" value="1"/>正确      
<input type="radio" name="a1" value="0" />错误

js代码如下:   

var b1= document.getElementsByName('a1');

for (var i = 0; i < b1.length; i++) 

if (b1[i].checked == true) //如果选中,下面的alert就会弹出选中的值

alert(b1[i].value);

定义和用法

getElementsByName() 方法可返回带有指定名称的对象的集合。

语法

document.getElementsByName(name)

该方法与 getElementById() 方法相似,但是它查询元素的 name 属性,而不是 id 属性。

另外,因为一个文档中的 name 属性可能不唯一(如 HTML 表单中的单选按钮通常具有相同的 name 属性),所有 getElementsByName() 方法返回的是元素的数组,而不是一个元素。

参考技术B 法一,用js实现
document.getElementById("id").value
法二,用post事件,

以上是关于jsp获取radio的值的主要内容,如果未能解决你的问题,请参考以下文章

JSP中如何获取radio 或checkbox的值

JSP中读取的radio值为啥是on?

jsp如何取到选中的radio中每一列的值

JavaScript中获取radio的值

请问下: 如果在jsp 中获取一组 radio 的checked值

怎样在jsp页面内获取radio的value值?