什么是这个代码中的实际问题每次都显示msgbox点击按钮。

时间:2011-01-27 16:10:40

标签: javascript asp.net vb.net visual-studio-2008

如何修复代码中的错误..如果用户选择ot nt选中复选框,此代码将始终显示msg框。

但我想如果用户没有选中任何复选框或忘记选择复选框,那么msg框将ppear其他明智的重定向到其他页面..

<form id="form1" runat="server">
    <div>

        <asp:CheckBox ID="CheckBox1" runat="server" />
        <asp:CheckBox ID="CheckBox2" runat="server" />

    </div>
    <asp:Button ID="Button1" runat="server" OnClientClick ="ConfirmSelection(this.form)" Text="Button" />


    </form>
    <script type="text/javascript">
function ConfirmSelection(frm) 
{ 
   for (i=0; i<=1; i++) {
     //chkSubjectOfInterest is the id of your checkbox control

     if (frm.elements[i].name.indexOf('chkSubjectOfInterest') !=-1) 
     { 
       if (frm.elements[i].checked) 
       { 
         return true
       } 
     } 
   } 
   alert('You havent selected an Item yet!')
   return false
}
</script>

4 个答案:

答案 0 :(得分:2)

难道你不能用这个吗?

if (document.getElementById('<%=CheckBox1.ClientID%>').checked)
{
// do something
}

或者

if (document.getElementById('<%=CheckBox2.ClientID%>').checked)
{
// do something
}

答案 1 :(得分:2)

“chkSubject Of Interest”与您网页上的任何复选框都不对应??

答案 2 :(得分:1)

我的猜测是你的复选框名称没有像你期望的那样出来。我创建了一个代码的小提琴(http://jsfiddle.net/wbzEH/)并且只是调整它以摆脱服务器端代码。我还在复选框中加入了明确的名称,它运行正常。

您是在某处设置服务器上的复选框名称还是只是忘记了它们?

答案 3 :(得分:1)

使用JQuery并尝试使用元素的类而不是ID。 Using JQuery to Show/Hide controls depending on Dropdown list selected value