Что не так в этом коде?Почему он все еще дает MsgBox, если пользователь выбирает или не устанавливает флажок? - PullRequest
0 голосов
/ 27 января 2011

Где изменить этот код

По-прежнему выдается сообщение о том, установлен ли флажок или нет ....

Мой код, приведенный ниже, будет перенаправлен в Google в обоих случаях: если пользователь установит флажок, он будет перенаправлен на www.google.com, но если пользователь забудет установить флажок, появится окно сообщения с OK кнопка. Когда я нажимаю OK , он перенаправляется на www.google.com.

Я хочу

Когда пользователь забывает установить какие-либо флажки, он должен показать окно сообщения с кнопкой ОК и остаться на той же странице. В противном случае, если пользователь выберет любой из флажков, перенаправьте его на www.google.com.

Что не так с этим кодом?

<html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>Untitled Page</title>
    </head>

    <body>
        <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 haven\'t selected an item yet!')
                return false
            }
        </script>
    </body>
</html>

1 Ответ

0 голосов
/ 27 января 2011

Вы можете использовать эту функцию JavaScript:

<html>
<head>
<script type="text/javascript" language="javascript">
function checkboxChecked(){
    var checked=false;
    var allInputs = document.getElementsByTagName("input");
    for(var i=0; i<allInputs.length; i++){
         var chk=allInputs[i];
         if(chk.type == "checkbox"){
            if(chk.checked){
               checked=true;
               break;
            }
         } 
    }
    if(!checked)
        alert("You should check something!!");
    return checked;
}
</script>
</head>
<body>
<input type="checkbox" /><input type="checkbox" /><input type="checkbox" /><input type="checkbox" />
<br />
<asp:Button ID="Button1" runat="server" OnClientClick ="javascript:return checkboxChecked();" Text="Button" />
</body>
</html>

Это также работает с флажками ASP.NET.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...