我要判断一个 radiobuttonlist 中 选项是否空,用javascript实现,仅在页面上实现不传回服务器。

比如这个radiobuttonlist的ID='Q1'里面有2个选项value值分别为A和B,我在用javascript判断的时候if(document.all('Q1'... 比如 这个 radiobuttonlist的 ID='Q1' 里面有2个选项 value值分别为A和B ,
我在用javascript 判断的时候 if(document.all('Q1').selectedvalue == '')
{
--略--
}
每次断点到该条件时不进断点 ,document.all('Q1').selectedvalue 的值 总是 undifine ,是这个条件有问题么 我试过 value 试过 selectedindex 都不行,不知道为什么,请高手解答。
就是要实现一个 如果为空 那么页面上会提示
但这个条件始终不正确 总是不进断点 或者 IF 前面还要用点其他方法请赐教。分有的是。
展开
 我来答
XCExceXCExce
2011-09-11 · TA获得超过647个赞
知道小有建树答主
回答量:237
采纳率:0%
帮助的人:335万
展开全部
测试通过。
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication9.WebForm1" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function aa() {
var obj = document.getElementById("<%=RadioButtonList1.ClientID %>");
var radioList = obj.getElementsByTagName("input");
if (radioList[0].checked) {
alert("第一项");
}
else {
alert("第二项");
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:RadioButtonList ID="RadioButtonList1" runat="server">
<asp:ListItem Value="0">第一项</asp:ListItem>
<asp:ListItem Value="1">第二项</asp:ListItem>
</asp:RadioButtonList>
<a href="Javascript:aa()">123</a>
</div>
</form>
</body>
</html>
至于您上面的问题提到过:其他服务器控件没有用clientid也成功,这个我不是太清楚原因。这个radiolist这样用是可以的。
如果用户未选择,提示为空,您可以for循环radioList,逐个判断
huaaixue
2011-09-04 · TA获得超过524个赞
知道小有建树答主
回答量:1070
采纳率:0%
帮助的人:449万
展开全部
不行的,Q1只是服务器端的ID,页面运行之后自动生成的ID不是这个,
要不你这样吧
var rdo=document.getElementsTagName("radiobutton");
for(var i=0;i<rdo.length;i++){
if(rdo[i].checked==true){
---略----
}
}
追问
未成功。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
魔之梦魇在家6C
2011-09-04 · 超过22用户采纳过TA的回答
知道答主
回答量:57
采纳率:0%
帮助的人:55.8万
展开全部
formID 是 form的ID名字
<form id="formID" onsubmit="return checkform()">
<input type="radio" name="Q1" value="A" />
<input type="radio" name="Q1" value="B" />
<input type="submit">
</form>

<script language="JavaScript">
function checkform(){
var c=true;
for(i=0;i<formID.Q1.length;i++)
if(formID.Q1[i].checked)
c=false;
if(c){
--略--
alert('请选择');return false;
}
return true;
}
</script>
更多追问追答
追问
radiobuttenlist  加个 form 干嘛?
追答
就是这个意思呗

function checkformAB(){
var c=true;

for(i=0;i

A
B

C
D

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangsen2235068
2011-09-09 · 超过15用户采纳过TA的回答
知道答主
回答量:36
采纳率:0%
帮助的人:28.6万
展开全部
用Jquery做吧,VS2010都自带了Jquery1.4.1了 代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" >
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>测试</title>
<script src="/Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
function chekSelect() {
var q1Vlue = $("input:radio[name='Q1']:checked");//获取选中的radio对象
if (q1Vlue.val() != null) {//如果为null,就没有选中一个
alert(q1Vlue.val());
return true;
}
else {
alert("请选择一个");
return false;
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
体形:<asp:RadioButtonList ID="Q1" runat="server">
<asp:ListItem Value="A">苗条</asp:ListItem>
<asp:ListItem Value="B">肥胖</asp:ListItem>
</asp:RadioButtonList>
<asp:Button ID="btn1" runat="server" Text="提交" OnClientClick="return chekSelect();"/>
</div>
</form>
</body>
</html>
PS:不管.net控件什么形式,js操作,你只要看它html源是什么样子就好,RadioButtonList 到html自然都是<input type="radio" />,生成的html,name都等于你RadioButtonList 的ID。那就好办了。根据name获取,操作。
推荐用Jquery的一个插件FormValidator来做,只要一行代码: $("input:radio[name='Q1']").formValidator({onshow:"请选择",onfocus:"你选一个吧",oncorrect:"输入正确",defaultvalue:[1]}).inputValidator({min:1,max:1,onerror:"忘记选了,请确认"});
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Myduhao415
2011-09-04 · 超过43用户采纳过TA的回答
知道小有建树答主
回答量:116
采纳率:0%
帮助的人:141万
展开全部
你的 document.all('Q1').selectedvalue 这个是什么啊;你用all,那你的radiobuttonlist标签要有name属性啊;而且all不是all()方法吧;javascript中你用这个吗:document.getElementById("Q1").selectedvalue
追问
还是不行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
beikerray119
2011-09-04 · TA获得超过581个赞
知道小有建树答主
回答量:604
采纳率:0%
帮助的人:473万
展开全部
ID是服务器端的ID,呈现页面时,ID会变的
你可以在页面里面用<%=Q1.ClientID%>来获得他的客户端ID
追问
这样?  我其他的 例如 一般的text box  还有 dropdownlist  等 都没有这么复杂啊 都是直接使用的ID。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式