关于.Attributes.Add("onclick", "selectchange(this,'hotmail','TextBox1')");

lc12d 2008-04-22 08:46:16
在后台为一个checkbox控件添加事件,执行JAVASCRIPT脚本,可是传递的值‘hotmail','textbox1',总是空值,想知道这个用法该怎样传递值呢???
...全文
251 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
机器人 2008-04-22
  • 打赏
  • 举报
回复
恩,还可以用Javascript遍历GridView所在Div里所有Html元素,也能做。
lc12d 2008-04-22
  • 打赏
  • 举报
回复
没有其他办法了吗??
机器人 2008-04-22
  • 打赏
  • 举报
回复
这个时候,就不能用WebControl了,应该用HtmlControl,这样GridView里所有的CheckBox是一个数组。

对应的CheckBox的Value里存放email,点击全选CheckBox的时候,对这一组CheckBox进行遍历,取出email值

放入TextBox中。
lc12d 2008-04-22
  • 打赏
  • 举报
回复
哪位给出出主意啊,谢谢了先,给分
lc12d 2008-04-22
  • 打赏
  • 举报
回复
现在我想用一个全选checkbox来全部选中并把所有Hiddenfield中的值添加到textbox1中,该如何写javascript呢,本人想不出什么方法了,因为无法传递hotmail的id了,不懂,求解决方案,谢谢先
机器人 2008-04-22
  • 打赏
  • 举报
回复
function selectchange(check,hotmail,TextBox1)

这个JavaScript写的有问题,修改一下:

function selectchange(check, hiddenID, textID)
{
var hotmail = document.getElementById(hiddenID);
var txt = document.getElementById(textID);
var reg = new RegExp("("+hotmail.value+")","g");
if(check.checked == true) {
alert(hotmail.value);
txt.value = txt.value + hotmail.value;
}
else {
txt.value=(txt.value).replace(reg, "");
}
}
lc12d 2008-04-22
  • 打赏
  • 举报
回复
好了 谢谢10楼上的
lc12d 2008-04-22
  • 打赏
  • 举报
回复
我不知道怎么给,你给指点指点吧,告我怎么给,我都给你
whushuguang 2008-04-22
  • 打赏
  • 举报
回复
mark
lc12d 2008-04-22
  • 打赏
  • 举报
回复
可还是不行啊,仍然传过去的是空值,麻烦看看我的代码好不好,本人初学习,不懂,请指教
机器人 2008-04-22
  • 打赏
  • 举报
回复
都说要用ClientID了:

cb.Attributes.Add("onclick", "selectchange(this,'memail','TextBox1')");

改为:

cb.Attributes.Add("onclick", "selectchange(this,'" + memail.ClientID + "','" + TextBox1.ClientID + "')");

lc12d 2008-04-22
  • 打赏
  • 举报
回复
function selectchange(check,hotmail,TextBox1)
{
var reg=new RegExp("("+hotmail.value+")","g");
if(check.checked==true)
{
alert(hotmail.value);
document.getElementById(TextBox1).value=document.getElementById(TextBox1).value+hotmail.value;
}
else
{
document.getElementById(TextBox1).value=(document.getElementById(TextBox1).value).replace(reg,"");

}
}
protected void list1_ItemDataBound(object sender, DataGridItemEventArgs e)
{
for (int i = 0; i < list1.Items.Count; i++)
{
CheckBox cb = (CheckBox)list1.Items[i].FindControl("chkChoose");
HiddenField memail = (HiddenField)list1.Items[i].FindControl("hotmail");
//Response.Write(memail.Value);
cb.Attributes.Add("onclick", "selectchange(this,'memail','TextBox1')");
}
}

<asp:datagrid id="list1" Height="300" runat="server" CellPadding="3" AutoGenerateColumns="False" ShowFooter="True" OnItemDataBound="list1_ItemDataBound">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<tr style=" line-height:26px;">
<td style="text-align: left;">
<asp:CheckBox ID="chkChoose" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "name")%>' ></asp:CheckBox> <br />
<asp:HiddenField ID="hotmail" runat="server" Value=' <%#DataBinder.Eval(Container.DataItem, "email")%>' />
</td>
</tr>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:datagrid>
我是在一个datagrid中放的checkbox和hiddenfield,想实现的功能是,单击一个checkbox即把那一行中hiddenfield中的值添加到textbox1中,代码如上,请教了
yunfeng007 2008-04-22
  • 打赏
  • 举报
回复

Attributes.Add("onclick","selectchange(this,'"+hiddenfield.Text+"','"+Textbox1.Text+"'");

有点小错误,改改
lc12d 2008-04-22
  • 打赏
  • 举报
回复
就是两个控件啊,还是不行
smile_mj 2008-04-22
  • 打赏
  • 举报
回复
document.all("hotmail").value = "aaa";如果hotmail是个控件
yunfeng007 2008-04-22
  • 打赏
  • 举报
回复
.Attributes.Add("onclick","selectchange(this,'"+hiddenfield.Text+','"+Textbox1.Text+'");

不知道你的javascrpt的selectchange后两个参数是什么,是那两个控件的值的话,上面的应该可以把
lc12d 2008-04-22
  • 打赏
  • 举报
回复
谢谢大家给给指教吧
lc12d 2008-04-22
  • 打赏
  • 举报
回复
hotmail是一个hiddenfield控件,textbox1标准控件,现在在后台给checkbox添加一个Onclick事件,把hotmail的值传给javascript中使用, 用alert显示了 hotmail就是undefine,但是在后台hotmail显示是有数值的,不知道应该怎样传递。请教了
trueideal 2008-04-22
  • 打赏
  • 举报
回复
‘hotmail','textbox1'是两个字符吗?如果是,一定能传过去的,你可在javascript中用alert显示一下.
机器人 2008-04-22
  • 打赏
  • 举报
回复
总是空值是什么意思?

TextBox1是Web控件吧,你这里可能需要传递TextBox1.ClientID
加载更多回复(3)

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧