如何用JS 获取 DataList 中 textbox 的值

jasmine5288 jasmine5288 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
在网上搜过很多,看了,试了都没管用。所以问一下各位前辈,希望不要BS我的问题太浅薄。


datalist中有

一张图片
一个HiddenField 叫 imgid
一个textbox 叫name
一个textbox 叫 message
一个按钮 button

绑定datalist后,有N个以上表格显示出来

当我点击 其中一个button的时候 如何用JS获取相对应的imgid,name,message这3个的值。





自己试过的

方法一:

aspx
给datalist 加上 OnItemDataBound="DataList1_ItemDataBound"

cs

Button rButton = (Button)e.Item.FindControl("Button1");//提交按钮
TextBox rname = (TextBox)e.Item.FindControl("name");
TextBox rmessage = (TextBox)e.Item.FindControl("message");
string rimage = ((HiddenField)e.Item.FindControl("imgid")).Text;

rButton.OnClientClick = "aa('" + rimage + "','" + rname + "','" + rmessage + "')";

JS

fuction aa(a,b,c)
{
alert(a);
alert(b);
alert(c);
}


弹出来的均是最初绑定时候的值,例如页面加载后,是空的,我自己写上name,message再点button,弹出来的依然是空。


方法二:

aspx

button这样写
<input id="Button1" type="button" value="发表" onclick='<%# "aa(" +((DataListItem)Container).FindControl("name").ClientID +","+((DataListItem)Container).FindControl("message").ClientID+","+((DataListItem)Container).FindControl("imgid").ClientID+")"%> ' />

JS

fuction aa(a,b,c)
{
alert(a.id);
alert(document.getElementById(a.id).value);
alert(document.getElementById(b.id).value);
alert(document.getElementById(c.id).value);
}

这样alert(a.id);弹出来的是相对应的类似这个格式(DataList1_ctl04_name )的值
alert(document.getElementById(a.id).value); 这样弹出的是name的值。但是结果同上,弹出来的均是最初绑定时候的值,例如页面加载后,是空的,我自己写上name,message再点button,弹出来的依然是空




...全文

相关推荐

评论 25
收藏 已收藏
分享
返回顶部
jasmine5288
.NET社区 62,271 成员 668,968 内容