关于有条件(按下选项前的按钮才认证该选项)验证的问题,有图

swazn_yj 2007-10-31 09:14:00


<table border="0" cellpadding="2" cellspacing="1" class="TablePanel" width="80%">
<tr align="center">
<td class="TDHead" colspan="3" style="height: 16px; background-image: url(../images/M.jpg); ">
请点击单选按钮选择要批处理的内容</td>
</tr>
<tr>
<td align="center" class="altbg1" style="height: 28px; width: 68px;">
<asp:RadioButton ID="B_Kind0" runat="server" GroupName="BKind"/></td>
<td width="176" class="altbg2" style="height: 28px; width: 105px;">修改影片服务器:</td>
<td width="771" class="altbg1" style="height: 28px; "> <asp:DropDownList ID="m_sid" runat="server" BackColor="#FFE0C0" OnChange="javascript:form1.BKind[0].checked=true;"></asp:DropDownList><asp:RequiredFieldValidator ID="CustomValidator2" ControlToValidate="m_sid" runat="server" ErrorMessage="请选择服务器"></asp:RequiredFieldValidator></td>
</tr>
<tr>
<td align="center" class="altbg1" style="height: 28px; width: 68px;">
<asp:RadioButton ID="B_Kind1" runat="server" GroupName="BKind" /></td>
<td class="altbg2" style="height: 28px; width: 105px;">修改影片分类为:</td>
<td style="height: 28px; " class="altbg1"> <asp:DropDownList ID="m_kid" runat="server" BackColor="#FFE0C0" OnChange="javascript:form1.BKind[1].checked=true;">
</asp:DropDownList><asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="请选择影片分类" ControlToValidate="m_kid"></asp:RequiredFieldValidator></td>
</tr>
<tr>
<td align="center" class="altbg1" style="height: 28px; width: 68px;">
<asp:RadioButton ID="B_Kind2" runat="server" GroupName="BKind" /></td>
<td class="altbg2" style="height: 28px; width: 105px;">修改节目状态为:</td>
<td style="height: 28px; " class="altbg1"> <asp:CheckBox ID="m_hiddens" runat="server" Checked="true" Text="开放观看" OnClick="javascript:form1.BKind[2].checked=true;" /><asp:CheckBox
ID="m_down" runat="server" Text="开放下载" OnClick="javascript:form1.BKind[2].checked=true;" /></td>
</tr>
<tr>
<td align="center" class="altbg1" style="height: 28px; width: 68px;">
<asp:RadioButton ID="B_Kind3" runat="server" GroupName="BKind" /></td>
<td class="altbg2" style="height: 28px; width: 105px;">修改电影产地为:</td>
<td style="height: 28px; " class="altbg1"> <asp:DropDownList ID="m_area" runat="server" BackColor="#FFE0C0" OnChange="javascript:form1.BKind[3].checked=true;">
<asp:ListItem Selected="True" Value="">请选择产地</asp:ListItem>
<asp:ListItem>国产</asp:ListItem>
<asp:ListItem>港澳台地区</asp:ListItem>
<asp:ListItem>日韩</asp:ListItem>
<asp:ListItem>欧美</asp:ListItem>
<asp:ListItem>其它地区</asp:ListItem>
</asp:DropDownList></td>
</tr>

我想要的效果就是按了某个分类的前面的单选钮才对后面的选项进行验证,不知道怎么做?.net自带的验证控件可以吗?
...全文
131 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
swazn_yj 2007-11-05
  • 打赏
  • 举报
回复
up!
ojekleen 2007-10-31
  • 打赏
  • 举报
回复
你多控件可以把document.all.ddl.disabled=false;改成document.getElementById("ddl").disabled=false;
ojekleen 2007-10-31
  • 打赏
  • 举报
回复
完整代码:
<HTML>
<HEAD>
<title>WebForm1</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
<script language="javascript">
function checkChanged(flog)
{
if(flog==true)
{
alert(flog);
document.all.ddl.disabled=false;
}
else
{
document.all.ddl.disabled=true;
}

}

</script>
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<table>
<tr>
<td>
<input type="checkbox" id="checkbox1" value="测试" onclick="checkChanged(this.checked)">
<asp:DropDownList Runat="server" ID="ddl"></asp:DropDownList>
</td>
</tr>
</table>
</form>
</body>
</HTML>
ojekleen 2007-10-31
  • 打赏
  • 举报
回复
<asp:DropDownList Runat="server" ID="ddl"></asp:DropDownList>
这是dropdownlist
我只用了两个控件
honey52570 2007-10-31
  • 打赏
  • 举报
回复
提交按钮后开始验证就在后台判断好了啊,不通过就返回
LeeeeSin 2007-10-31
  • 打赏
  • 举报
回复
关注一个...呵呵
ojekleen 2007-10-31
  • 打赏
  • 举报
回复
javascript就可以了。
<input type="checkbox" id="checkbox1" value="测试" onclick="checkChanged(this.checked)">
<script language="javascript">
function checkChanged(flog)
{
if(flog==true)
{
document.all.ddl.disabled=false;
}
else
{
document.all.ddl.disabled=true;
}

}

</script>
Yeqw1985 2007-10-31
  • 打赏
  • 举报
回复
JS 应该就可以了吧。在客户端就可以验证了。为啥要提交呢?
ojekleen 2007-10-31
  • 打赏
  • 举报
回复
你radiobutton的checked属性改变是激发啊。为什么要等到提交按钮按下后才开始验证阿?
swazn_yj 2007-10-31
  • 打赏
  • 举报
回复
To:ojekleen
没办法用AJAX吧?是提交按钮按下后才开始验证阿
ojekleen 2007-10-31
  • 打赏
  • 举报
回复
你可以用ajax操作啊,
swsky 2007-10-31
  • 打赏
  • 举报
回复
自己写个js验证吧,自带的功能有限!
linsoo 2007-10-31
  • 打赏
  • 举报
回复
除非每次改变radiobutton设置成autopostback,然后每次改radiobutton的值的时候后台都判断一下...
linsoo 2007-10-31
  • 打赏
  • 举报
回复
自带的控件感觉是无法实现的
swazn_yj 2007-10-31
  • 打赏
  • 举报
回复
To:ojekleen
.net自带的自定义控件我试过了,没搞定阿。
你说的第二个方法如果用Javascript来判断的话根本不能控制控件的enable属性,只能在后台控制。那就是在提交动作后再判断了,好像就失去作用了呀!
ojekleen 2007-10-31
  • 打赏
  • 举报
回复
应该可以的,.net有自带的验证控件.
你也可以用循环判断radiobutton的checked属性来设置其他控件enable属性
swazn_yj 2007-10-31
  • 打赏
  • 举报
回复
<script type="text/javascript">
function checkedChanged(flog,name)
{
var CustomValidator2 = document.all ? document.all[name] : document.getElementById(name);
if(flog==true)
{
CustomValidator2.enabled = "True";
}
else
{
CustomValidator2.enabled = "False";
}
}
</script>
<asp:RadioButton ID="B_Kind0" runat="server" GroupName="BKind" onclick="javascript:checkedChanged(this.checked,'CustomValidator2')" />

这个管用了,但是只要按上就不能取消验证控件了,enabled="True"不能取消了。有什么办法让按了别的按钮这个就取消呢?
swsky 2007-10-31
  • 打赏
  • 举报
回复
这个验证控件的属性可以用js控制么?
swsky 2007-10-31
  • 打赏
  • 举报
回复
To:ojekleen
要激发验证控件的enabled属性吧?你那个只是禁止后面的下拉框啊,并不是禁止验证控件。
<asp:RequiredFieldValidator ID= "CustomValidator2 " ControlToValidate= "m_sid " runat= "server " ErrorMessage= "请选择服务器 " > </asp:RequiredFieldValidator >

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧