js给textbox赋值,后台取值的问题

   readonly,disabled是input的属性 
   ReadOnly,Enabled是 ASP :TextBox的属性 

   要求: 客户端不能输入,但可通过js赋值,并在服务器端获取到js赋的值 
   前台: 
   
   
   <asp:TextBox ID="TextBox1" runat="server" ReadOnly="true" Enabled ></asp:TextBox> 
   <input id="Text1" runat="server" type="text" readonly="readonly" /> 
   <input id="Button1" type="button" value="客户端赋值" οnclick="doClick()" /> 
   <asp:Button ID="Button2" runat="server" Text="服务器端获取" OnClick="Button2_Click" /> 
   
   <script language="javascript"> 
   function $(s){return document.getElementById(s);} 
   function doClick() 
   { 
   $('<%=Text1.ClientID %>').value="wufeng"; 
   $('<%=TextBox1.ClientID %>').value="wufeng"; 
   } 
   </script>后台: 
   protected void Button2_Click(object sender, EventArgs e) 
   { 
   Response.Write(Text1.Value + " Hello<br/>"); 
   Response.Write(TextBox1.Text + " Hello<br/>"); 
   } 
   
   执行服务器端回传前的客户端代码: 
   <input name="TextBox1" type="text" readonly="readonly" id="TextBox1" class="ClassText" /> 
   <input name="Text1" type="text" id="Text1" readonly="readonly" /> 
   <br /> 
   <input id="Button1" type="button" value="客户端赋值" οnclick="doClick()" /> 
   <input type="submit" name="Button2" value="服务器端获取" id="Button2" class="ClassBtn" /> 
   
   执行服务器端回传后的客户端代码: 
   <input name="TextBox1" type="text" readonly="readonly" id="TextBox1" class="ClassText" /> 
   <input name="Text1" type="text" id="Text1" readonly="readonly" value="wufeng" /> 
   <br /> 
   <input id="Button1" type="button" value="客户端赋值" οnclick="doClick()" /> 
   <input type="submit" name="Button2" value="服务器端获取" id="Button2" class="ClassBtn" />区别:Text1的value属性前后发生了变化,而TextBox1并不能从后台获取到。 
   
   解决:在Page_Load中设置 
   TextBox1.Attributes["contentEditable"] = "false";//等效于ReadOnly="true"或直接从前台设置TextBox的属性contentEditable="false"

解决办法:

因为JS给TEXTBOX赋值,.net不会保存TEXTBOX的状态,所以有时候就会丢掉TEXTBOX的值,因此要在后台取值正确的方法是使用 Request.Form["TEXTBOXID"] 就可以了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值