日期:2014-05-19  浏览次数:20729 次

C#.net下 js设置控件属性问题
如题,如何用js设置控件属性
我现在要在双击事件中   将   textbox的enabled   属性设置为   false   ,即让这个textbox不可用
不是disabled属性

------解决方案--------------------
学习ing...

如果textbox是在服务器控件的话,估计楼上兄弟的方法不行吧!
------解决方案--------------------
可以的,textbox是服务器控件,但是生成html时还是 <input type= "text "> ,而且asp.net解析控件时,对 < /> 中的无法解析部分是原样输出的,自己偷了懒同时也增加了开发人员的灵活性。

当然了也可以使用textbox.Attrbutes.Add( "ondblclick ", "javascript:this.readonly=true ")来增加事件,但是看起来不直观
------解决方案--------------------
直接用js将 textbox的enabled 属性设置为 false
---------------------------------------------

document.getElementById( ' <%= textbox.ClientID %> ').readOnly = true;
------解决方案--------------------
用js这些客户端语言处理服务器端的控件属性,必须先获得服务器端控件输出到客户端后的控件ID,然后才可以用js进行控件。

服务器端控件都有一个ClientID属性,就是专门用来获取在客户端产生的ID。

如TextBox在服务器端的ID是 txtUsername,那么在客户端的ID可以用 txtUsername.ClientID 获取到,然后用js语句来控件:

document.getElementById(txtUsername.ClientID).readonly = true;
------解决方案--------------------
其实“事件”和“属性”都一样,它们在HTML里都只是标签后面带了值,把我的那个方法改成:
this.TextBox1.Attributes.Add( "readonly ", "true ");
就可以了!