单击空的asp:textbox时我想立即将asp:标签的可见性设置为false 我为验证检查设置了一些标签 当文本框为空时,标签变为可见,但是当文本更改或单击文本框进行编辑时,标签不可见 请帮帮我
代码:
protected void Button1_Click(object sender, EventArgs e)
{
if (TextBox1.Text == "")
Label1.Visible = true;
}
protected void TextBox1_TextChanged(object sender, EventArgs e)
{
Label1.Visible = false;
}
答案 0 :(得分:1)
您可以使用JQuery立即隐藏标签(无需重新加载页面)。您的文本框和标签都有ID,您可以使用asp.net 4中的ClientID属性获取它们。
$(document).ready(function(){
var textbox = $('#<%=textboxId.ClientID%>');
var label = $('#<%=labelId.ClientID%>');
textbox.click(function(){
if(textbox.val().length == 0){
label.hide();
}
});
});
答案 1 :(得分:0)
确保您保留了AutoPostBack =&#34; true&#34;在TextBox1上
protected void Button1_Click(object sender, EventArgs e)
{
if (TextBox1.Text == "")
Label1.Visible = true;
}
protected void TextBox1_TextChanged(object sender, EventArgs e)
{
if(TextBox1.Text != string.empty)
{
Label1.Visible = false;
}
}
但是还有其他有效的方法可以验证相同的效果。 例如。 ASP验证器, JQuery Validators
答案 2 :(得分:0)
尝试在此使用jquery
。
此处标签可见性将根据文本框值的变化而变化。
<强>代码强>
$(function () {
$('#<%= txtbox1.ClientID%>').on('change keyup paste', function () {
if ($('#<%= txtbox1.ClientID%>').val().length == 0) {
$('#<%= lblTest.ClientID%>').css("visibility", "hidden");
}
else {
$('#<%= lblTest.ClientID%>').css("visibility", "visible");
}
});
});