ASP.Net文本框onblur事件

我有一个文本框,当用户选中文本框(onBlur事件)时,我需要validation其值(如果textbox的值为50,则在lblShowMsg中显示消息)。 我似乎无法正确使用语法。

我在pageload事件中有这个代码:

protected void Page_Load(object sender, EventArgs e) { txtCategory.Attributes.Add("onblur", "validate()"); } 

但我似乎无法得到正确的JavaScript代码。 有什么建议?

在代码背后:(VB.NET)

在页面加载事件

 txtAccountNumber.Attributes["onBlur"] = "IsAccNumberValid(" & txtAccountNumber.ClientID & ")"; 

其中txtAccountNumber是标记页面中TextBox的ID,并且您传递文本框的ClientID,因为JavaScript是客户端而不是服务器端。 现在在标记页面(.aspx)中,在页面的head部分有这个javascript:

  

这是Page_Load中的实际代码吗? 您需要使用控件的名称,而不是TextBox的类型名称。 例如,您可能想尝试:

  textBox1.Attributes.Add("onblur", "validate();"); 

其中“textBox1”是您在标记中分配给textBox的ID。

此外,从Javascript开始,文本框的ID很可能在呈现到页面后发生了更改。 如果您将控件传递给validate函数会更好:

 function validate(_this) { if (_this.value == "50") // then set the ID of the label. } 

然后你可以像这样设置属性:

 textBox1.Attributes.Add("onblur", "validate(this);"); 

最后,如果您在Javascript中执行任何操作,我强烈建议您使用JQuery库。 它将使您的生活更轻松10倍。

这很有效。

Textbox1.Attributes.Add( “的onblur”, “JavaScript的:警报( ‘AAA’);”);

确保function位于页面的脚本部分。


我的页面

    

代码背后

 public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Textbox1.Attributes.Add("onblur","Validate();"); } }