我有一个文本框,当用户选中文本框(onBlur事件)时,我需要验证其值(如果textbox的值为50,则在lblShowMsg中显示消息).我似乎无法正确使用语法.
我在pageload事件中有这个代码:
protected void Page_Load(object sender, EventArgs e)
{
txtCategory.Attributes.Add("onblur", "validate()");
}
Run Code Online (Sandbox Code Playgroud)
但我似乎无法得到正确的JavaScript代码.有什么建议?
小智 9
在代码背后:(VB.NET)
在页面加载事件
txtAccountNumber.Attributes["onBlur"] = "IsAccNumberValid(" & txtAccountNumber.ClientID & ")";
Run Code Online (Sandbox Code Playgroud)
其中txtAccountNumber是标记页面中TextBox的ID,并且您传递文本框的ClientID,因为JavaScript是客户端而不是服务器端.现在在标记页面(.aspx)中,在页面的head部分中有这个javascript:
<script type="text/javascript">
function IsAccNumberValid(txtAccountNumber) {
if (txtAccountNumber.value.length < 6) {
alert(txtAccountNumber.value);
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
这是你的Page_Load中的实际代码吗?您需要使用控件的名称,而不是TextBox的类型名称.例如,您可能想尝试:
textBox1.Attributes.Add("onblur", "validate();");
Run Code Online (Sandbox Code Playgroud)
其中"textBox1"是您在标记中分配给textBox的ID.
此外,从Javascript开始,一旦将textBox的ID呈现给页面,它的ID很可能已经改变.如果您将控件传递给validate函数会更好:
function validate(_this)
{
if (_this.value == "50")
// then set the ID of the label.
}
Run Code Online (Sandbox Code Playgroud)
然后你可以像这样设置属性:
textBox1.Attributes.Add("onblur", "validate(this);");
Run Code Online (Sandbox Code Playgroud)
最后,如果您在Javascript中执行任何操作,我强烈建议您使用JQuery库.它将使您的生活更轻松10倍.
| 归档时间: |
|
| 查看次数: |
72149 次 |
| 最近记录: |