本来要实现一个全选的功能,再通过Request.Form在cs文件里获取。
现在遇到的问题是:我单击全选,所有的checkbox都选中了,可是再点击提交,后台却获取不到。我手动选择这些checkbox是可以在服务器获取到值的:
这是我选择前三项获取的结果
这是我什么也不选获得的结果我全选后提交什么没弹出,连设置的断点也进不去问问大家是什么情况:我的aspx代码:<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function selectAll(f,flag){
if (flag == true) {
for (var i = 0; i < f.elements.length; i++) {
if (f.elements[i].name = "default") {
f.elements[i].checked = true;
}
}
} else {
for (var i = 0; i < f.elements.length; i++) {
if (f.elements[i].name = "default") {
f.elements[i].checked = false;
}
}
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
全选 <input id="select" name="select" type="checkbox" value="-1" onclick="selectAll(this.form,this.checked);"/>
<hr />
<input id="default" name="default" value="1" type="checkbox" />
<input id="Checkbox1" name="default" value="2" type="checkbox" />
<input id="Checkbox4" name="default" value="3" type="checkbox" />
<input id="Checkbox5" name="default" value="4" type="checkbox" />
<input id="Checkbox6" name="default" value="5" type="checkbox" />
<input id="Checkbox3" name="default" value="6" type="checkbox" />
<input id="Checkbox2" name="default" value="7" type="checkbox" />
</div>
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click"/>
</form>
</body>
</html>
我的cs文件代码:
protected void Button1_Click(object sender, EventArgs e)
{
if(Request.Form["default"]!=null){
ShowMessage(this,Request.Form["default"]);
}else{
ShowMessage(this,"没有选中");
}
if (Request.Form["select"] != null)
{
ShowMessage(this, Request.Form["select"]);
}
else {
ShowMessage(this, "咋回事");
}
} private void ShowMessage(System.Web.UI.Page page, string mesg){
string alerts = @"<script type='text/javascript'>alert('" + mesg + "')</script>";
Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", alerts);
}
现在遇到的问题是:我单击全选,所有的checkbox都选中了,可是再点击提交,后台却获取不到。我手动选择这些checkbox是可以在服务器获取到值的:
这是我选择前三项获取的结果
这是我什么也不选获得的结果我全选后提交什么没弹出,连设置的断点也进不去问问大家是什么情况:我的aspx代码:<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function selectAll(f,flag){
if (flag == true) {
for (var i = 0; i < f.elements.length; i++) {
if (f.elements[i].name = "default") {
f.elements[i].checked = true;
}
}
} else {
for (var i = 0; i < f.elements.length; i++) {
if (f.elements[i].name = "default") {
f.elements[i].checked = false;
}
}
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
全选 <input id="select" name="select" type="checkbox" value="-1" onclick="selectAll(this.form,this.checked);"/>
<hr />
<input id="default" name="default" value="1" type="checkbox" />
<input id="Checkbox1" name="default" value="2" type="checkbox" />
<input id="Checkbox4" name="default" value="3" type="checkbox" />
<input id="Checkbox5" name="default" value="4" type="checkbox" />
<input id="Checkbox6" name="default" value="5" type="checkbox" />
<input id="Checkbox3" name="default" value="6" type="checkbox" />
<input id="Checkbox2" name="default" value="7" type="checkbox" />
</div>
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click"/>
</form>
</body>
</html>
我的cs文件代码:
protected void Button1_Click(object sender, EventArgs e)
{
if(Request.Form["default"]!=null){
ShowMessage(this,Request.Form["default"]);
}else{
ShowMessage(this,"没有选中");
}
if (Request.Form["select"] != null)
{
ShowMessage(this, Request.Form["select"]);
}
else {
ShowMessage(this, "咋回事");
}
} private void ShowMessage(System.Web.UI.Page page, string mesg){
string alerts = @"<script type='text/javascript'>alert('" + mesg + "')</script>";
Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", alerts);
}
你加上这句就可以了,本人测试已通过。
<form id="form1" method="post" runat="server">
2.使用CheckBoxList
if (flag == true) {
for (var i = 0; i < f.elements.length; i++) {
if (f.elements[i].name == "default") {
f.elements[i].checked = true;
}
}
} else {
for (var i = 0; i < f.elements.length; i++) {
if (f.elements[i].name == "default") {
f.elements[i].checked = false;
}
}
}
}