`

TextBox 如何运用

阅读更多

1. TextBox 如何设置onFocus和onBlur

<asp:TextBox ID="LoginID" onFocus="checkAccount();" onBlur="checkAccount1();" runat="server"></asp:TextBox>

 或者

 

<asp:TextBox ID="LoginID" runat="server"></asp:TextBox>

 在CS里面加代码

protected void Page_Load(object sender, EventArgs e)
    {
        LoginID.Attributes.Add("onfocus", "checkAccount()");
        LoginID.Attributes.Add("onblur", "checkAccount1()");
    }

 

2. 用<INPUT>时   通过js给input输入框赋值,并不触发input输入框的onchange   事件   可以通过onpropertychange来解决。  
   
  用<asp:TextBox>   通过jsTextBox赋值,并不会使TextBox PostBack      
  后来这样做      
  this.TBEmailID.Attributes.Add("onpropertychange","__doPostBack('TBEmail','')"); 


onchange事件只有是用键盘输入才会触发。或者在页面的js中调用onchange()函数(可以触发C#的TextChanged事件), 例如:

document.getElementById("elementID").onchange();
or
document.textbox1.onchange();
 

对象的value属性被页面的脚本修改的时候,onchange无法捕获到,而onpropertychange却能够捕获。 也就是说:onpropertychange能及时捕获属性值的变化 ,而onchange在属性值改变时还必须使得当前元素失去焦点(onblur)才可以激活该事件! 而用propertychange似乎陷入死循环,因为在onpropertychange事件里需要更改控件的value,这样就反复不停的执行。可以通过以下方法来避免反复调用:

<input   type=text   onpropertychange= "if (event.propertyName == "value ") change(this) "> 
 

 

通常用于监控前台空间属性改变可以使用的事件有onblur, onchange, onpropertychange,第一个为当控件失去焦点后触发,而第二个为当属性内容改变后触发,不过前两个同时使用,则会首先触发后者,再触发前者,而第三个是javascript的事件,不属于控件自身所带事件,其可以监视任何控件全部属性的变化,十分的具体和全面,但同时也是非常的耗费资源,一不小心就会出现比较大的问题,所以建议使用的时候,一定要做好筛选过滤的工作,以上三个属性都可以支持FireFox和IE,但是Safari是不支持第三者的,所以必须使用其特有的oninput事件即可。

 

 

 

3. Textbox的readonly属性

 

在ASP.NET 2.0后, 当postback页面时,如果Textbox是readonly的话,Textbox中改变的值会被忽略。 也就是说如果在前台用js修改了textbox的值, server不会把新的值写入textbox的‘Text’属性。 所以不会引发TextChanged event。 这个机制是用来防止用户绕开Textbox的readonly状态而引发的安全问题。

 

如果需要避开这个机制,可以用:

txtTextBox.Attributes.Add("readonly", "readonly")

 

这样server就不知道textbox是readonly

参考: 

http://scottonwriting.net/sowblog/posts/4965.aspx

http://west-wind.com/weblog/posts/3939.aspx

http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=102065

 

 

 

 

。。。

分享到:
评论

相关推荐

    TextBox控件应用技巧

    简单的例子,教会你如何把TextBox控件运用的熟练。

    EXCEL VBA生成1×N乘法数据源代码

    工作表2为“Sheet2”鼠标右键点击工作表名Sheet1,弹出菜单中选择“查看代码(V)”弹出Visual Basic For Applications窗口选择“插入(I)”的子菜单“用户窗体(U)”在窗体中放置两个文本框TextBox1、TextBox2;...

    VB实验报告.doc

    从运用中点击vb6.0经典版 打开标准 EXE 建立一个form 1 添加两个Label两个TextBox两个CommandButton,Label的caption改为"输入内容"和 "复制效果",TextBox的text改为"任意文字"和"空",CommandButton的caption改为...

    winform控件

    自己总结的一些winform空间运用 包括透明TextBox 透明Button 类似360按钮的玻璃按钮 窗体淡出效果 winform皮肤运用,运用时记得看每个文件夹下的Readme,根据里面的步骤在项目中创建自己的用户控件,然后就可以用了 ...

    新闻发布系统 新闻发布系统 前台后台两部分

    运用三层架构 包括数据库 sql2000 有前台管理和后台管理两部分 前台包括添加Flash 密码加密 验证码等都是现了部分代码 &nbsp;; position: relative" Text="用户名"&gt; &lt;asp:TextBox ID="txtname" runat="server...

    VB.NET 计算器 仿电脑标准计算器 适合刚入手VB.NET学习

    此程序新手学习 绝对值得 简单代码 包括四则运算 巧妙运用textbox 和 label

    很实用的时间控件

    这是一个很好使用的时间控件,运用在TextBox中输入时间日期时很实用,

    本软件和电脑中记事本功能一样

    运用了MenuStrip菜单和textBox文本框 用C#语言对文件的进行操作:创建txt文件,通过文件流保存文档

    计算个人所得税

    计算个人所得税 适合初学者 其中运用到一个技术在TextBox中只能输入数字,不能输入其它字符。

    c#多线程进度条参考资料WEb

    this.textBox1.Text = i.ToString(); this.progressBar1.Value = i; } 3.定义方法,驱动消息 public void MyEvent() { for (int i = 0; i ; i++) { Thread.Sleep(100); this.BeginInvoke(mydelegate, new ...

    ASP.NETWeb服务器控件.pptx

    ASP.NET提供的Web效力器控件简化了Web运用顺序的设计进程。 Windows控件的属性、方法、事情都是在本机上执行的; Web效力器控件的属性、方法、事情那么全部是在效力器端执行的。 在Web运用顺序中,用户经过客户端...

    新建文件夹_WPF界面_

    运用WPF应用程序,在TextBox中输入仅由大写A~G组成的数组,然后由垂直柱状图显示各个大写字母个数。(内含项目文件)

    CooliteToolkit(ExtJS可视化控件)Demo v0.8.0.rar

    Coolite Toolkit是基于跨浏览器的ExtJS 库开发而来的,并且简化了开发步骤,并且包含有丰富的Ajax运用。 Coolite Toolkit和ExtJS 都是开源的,可能通过SVN直接获取Coolite 的代码 从页面布局和使用的控件TextBox,...

    winForm新手练习的notepad

    运用了MenuStrip菜单和textBox文本框 用C#语言对文件的进行操作:创建txt文件,通过文件流保存文档,可以在文本框里对语句进行编辑和格式 适合学习winForm新手练习使用。

    Coolite Toolkit Professional v0.8.2源码下载

    从页面布局和使用的控件TextBox,Combox,Button,ToolBar,StateBar,Panel,TabPanel,ExplorerBar,MenuBar,PictureBox都用统一的样式非常方便的配置,基本不需要额外美工处理,同时支持ajax无刷新效果。

    CooliteToolkit(ExtJS可视化控件)Demo

    从页面布局和使用的控件TextBox,Combox,Button,ToolBar,StateBar,Panel,TabPanel,ExplorerBar,MenuBar,PictureBox都用统一的样式非常方便的配置,基本不需要额外美工处理,同时支持ajax无刷新效果。

    Coolite Toolkit Professional v0.8.1.part2

    Coolite Toolkit是基于跨浏览器的ExtJS 库开发而来的,并且简化了开发步骤,并且包含有丰富的Ajax运用。 Coolite Toolkit和ExtJS 都是开源的,可能通过SVN或到codepub.com直接获取Coolite 的代码 从页面布局和使用...

    Coolite Toolkit Professional v0.8.1.part3

    Coolite Toolkit是基于跨浏览器的ExtJS 库开发而来的,并且简化了开发步骤,并且包含有丰富的Ajax运用。 Coolite Toolkit和ExtJS 都是开源的,可能通过SVN或到codepub.com直接获取Coolite 的代码 从页面布局和使用...

    VSSPELL 8.0--拼写检查和字典宝库控件,包括附加英语字典、

    运用优势 VSSPELL 8.0 的国际性字典 VSSPELL包含附加的英语字典,西班牙语字典,荷兰语字典。这些词典具体情况如下: 253,000字的英语联合字典 73,000字的英语浓缩字典 91,000字的西班牙语字典 160,...

Global site tag (gtag.js) - Google Analytics