修改此代码的位置
无论我是否选中复选框,它仍会提供msgbox ....
我的代码会在以下两种情况下重定向到Google:如果用户选中该复选框,则会重定向到www.google.com,但如果用户忘记选中该复选框,则会显示带有<的消息框em>确定按钮。当我点击确定时,它应该重定向到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>
答案 0 :(得分:0)
您可以使用此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复选框。