首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

jquery替文本框赋值后 后台取不到值

2013-01-12 
jquery为文本框赋值后 后台取不到值?本帖最后由 dyh2452819449 于 2012-12-24 19:05:00 编辑asp:Label ID

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,谈何赋值!
[解决办法]

引用:
$("#TextBox1").val("" + dd + "");//赋值  

这句本身就是错的,服务器端的控件ID,到了客户端ID是变化的。javascript是在客户端运行的。
根本就没有获得到控件ID,谈何赋值!


+1
[解决办法]
ReadOnly="True" 的输入控件在返回时不会用post来的数据给控件赋值

改用这种方法设置只读属性
            TextBox1.Attributes.Add("readonly","true");

[解决办法]
引用:
$("#TextBox1").val("" + dd + "");//赋值  

这句本身就是错的,服务器端的控件ID,到了客户端ID是变化的。javascript是在客户端运行的。
根本就没有获得到控件ID,谈何赋值!


他不会是查看源码后的ID么?
[解决办法]
引用:
本帖最后由 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" na……

把ClientIDMode 换成静态模式
<asp:TextBox ClientIDMode="Static" ID="TextBox1" name="TextBox1"  ReadOnly="True"   runat="server" Text="">

热点排行