jquery为文本框赋值后 后台取不到值?
本帖最后由 dyh2452819449 于 2012-12-24 19:05:00 编辑 <asp:Label ID="lkb1" Class="lkb1" name="name" runat="server" Text="挺进投资产品A"></asp:Label>
<asp:TextBox ID="TextBox1" name="TextBox1" ReadOnly="True" runat="server" Text=""></asp:TextBox>
<script>
var curId; // 保存全局id
$(document).mousemove(function (e) {
{
e = e || event;
var tag = e.srcElement || e.target;
if (tag.id) {
curId = tag.id;
var dd = $("." + curId + "").html();
$("#TextBox1").val("" + dd + "");//赋值
}
}
});
</script>
////上面鼠标移动事件能赋值给TextBox1
////现在问题是我后台取不到值
////去掉ReadOnly="True"..也取不到值
///跪求高手解决
string str = Request.Form["TextBox1"];
string tbox = this.TextBox1.Text;
以上两种多取不到
[解决办法]
没有看到任何将文本框数据post给服务器端的逻辑,当然取不到了。
[解决办法]
页面加一个隐藏域:<input type="hidden" id="hid" runat="server" />
jQuery给文本框控件赋值时同时给该隐藏域控件赋值.
后台取隐藏域的值:string str = this.hid.value;
或者,将文本框改为:
<input type="text" id="TextBox1" runat="server" readonly="readonly" />
后台取值:string str=this.TextBox1.value
[解决办法]
LS2位所言极是,前台赋的值后台是取不到的,在赋值的同时给一个隐藏域Hidden赋值,后台取Hidden的值就可以了,虽然多了2行代码,并不是很烦的
[解决办法]
$("#TextBox1").val("" + dd + "");//赋值
这句本身就是错的,服务器端的控件ID,到了客户端ID是变化的。javascript是在客户端运行的。
根本就没有获得到控件ID,谈何赋值!
[解决办法]
<asp:TextBox ClientIDMode="Static" ID="TextBox1" name="TextBox1" ReadOnly="True" runat="server" Text="">