首页 新闻 搜索 专区 学院

怎样用JS在Default.aspx页获取多个Checkbox的ID值并构造字符串传递给Default.aspx.cs页

0
悬赏园豆:20 [已解决问题] 解决于 2012-03-29 19:42

怎样用JS在Default.aspx页获取多个Checkbox的ID值并构造字符串传递给Default.aspx.cs页,在Default。aspx.cs页面怎么接收。这个问题困扰好几天了,请大侠帮帮俺吧

 

 1 <script language="javascript">
2 function aa() {
3 var r = document.getElementsByName("check");
4
5 // var groupTypeId = new Array();
6 for (var i = 0; i <= r.length; i++) {
7 if (r[i].checked) {
8 var groupTypeId[i] = r[i].value;
9 // alert(r[i].value);
10 }
11 else {
12 alert("您还没有选择投票人!");
13 return false;
14 }
15 }
16 }
17 </script>


怎么在if循环中获取选中Checkbox的ID值,并且传递给服务器,服务器又该怎么接收???

zhiqiang21的主页 zhiqiang21 | 初学一级 | 园豆:4
提问于:2012-03-28 18:57
< >
分享
最佳答案
0

同意头上,定义一个<input type="hidden" id="getCheckValue" runat="server"/> 即可,加即往里面加值,减即减值。如何做呢。

假设你的checkbox的单击函数是AddRemoveValues(this)

看代码:

  function AddRemoveValues(chk) {
 
            //在处理这个地方需要注意的是:你保存的值应该具有唯一性,这样才能不会替换错误的项。
            if (chk.checked) {
                document.all.getCheckValue.value += "->" + chk.value;
            }
            else {
                document.all.getCheckValue.value = getCheckValue.value.replace("->" + chk.value, "");
            }
        }
收获园豆:15
NetSQL | 小虾三级 |园豆:1537 | 2012-03-28 23:33
<input id="Button1" type="button" value="提交" onclick="aa()" style="margin-top: 25px;
margin-left: 300px; width: 60px"
/>

但是我在aspx页面使用的是Html控件,我怎么创建一个单击事件,获取,点击人的IP啊,我是在aspx页面获取,还是在aspx.cs创建一个单击事件获取呢?要怎么html怎么创建单击事件啊,求大虾帮帮我吧,我还是菜鸟,木有经验啊!!!

zhiqiang21 | 园豆:4 (初学一级) | 2012-03-29 12:36

@叨叨2: onclickclent=“return aa()”

無限遐想 | 园豆:3740 (老鸟四级) | 2012-03-29 12:53

@叨叨2: HTML控件不是有onclick事件啊,直接用就好了,IP地址后台获取啊,前台不怎么好弄。

  // 获取IP地址
private string GetClientIP()
{
string result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (null == result || result == String.Empty)
{
result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
}
if (null == result || result == String.Empty)
{
result = HttpContext.Current.Request.UserHostAddress;
}
return result;
}
NetSQL | 园豆:1537 (小虾三级) | 2012-03-29 13:05
其他回答(2)
0

你先合成一個字符串,然後賦值給一個服務器控件,比如hidden,然後在服務器端就可以接收到了。

收获园豆:5
無限遐想 | 园豆:3740 (老鸟四级) | 2012-03-28 21:24
1 <input id="Button1" type="button" value="提交" onclick="aa()" style="margin-top: 25px;
2 margin-left: 300px; width: 60px"/>

但是我在aspx页面使用的是Html控件,我怎么创建一个单击事件,获取,点击人的IP啊,我是在aspx页面获取,还是在aspx.cs创建一个单击事件获取呢?要怎么html怎么创建单击事件啊,求大虾帮帮我吧,我还是菜鸟,木有经验啊!!!

支持(0) 反对(0) zhiqiang21 | 园豆:4 (初学一级) | 2012-03-29 12:37

@叨叨2: 就像你上面的按鈕一樣哦。加入 OnClientClick="return aa();",其中aa 就是客戶端的函數。執行賦值語句。

支持(0) 反对(0) 無限遐想 | 园豆:3740 (老鸟四级) | 2012-03-29 12:55
0

最简单的办法,checkbox使用不同的id,但使用相同的name='chk',并且要设置每个checkbox的value属性。

这样你在Default.aspx.cs中获取Request.Params["chk"]时,将得到由每个checkbox的value以英文逗号间隔的字符串。

string[] chkvalues = Request.Params["chk"].Split(',');
飞扬的尘埃 | 园豆:1318 (小虾三级) | 2012-03-29 17:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册