文本框默认文本在焦点上消失

时间:2013-08-14 10:15:07

标签: asp.net

TextBox t1 = new TextBox();
qwe2.controls.AddControl(t1);

我动态地将文本框添加到qwe2 qwe2只是一个小组

  <asp:panel ID="qwe2" runat="server"></asp:panel>

那么如何将默认文本设置为我的文本?当文本框聚焦时,我希望它消失?

4 个答案:

答案 0 :(得分:4)

这将设置默认值,然后在焦点上将其删除。如果文本框为空白,则会在模糊时添加默认值。

TextBox t1 = new TextBox();
t1.Attributes.Add("value", "Default text...");
t1.Attributes.Add("onFocus",@"if(this.value == 'Default text...') {this.value = '';}");
t1.Attributes.Add("onBlur", @"if (this.value == '') {this.value = 'Default text...';}");
qwe2.controls.AddControl(t1);

编辑: 切换字体颜色,虽然我建议你改为使用Jquery占位符插件而不是https://github.com/mathiasbynens/jquery-placeholder

t1.Attributes.Add("value", "Default text...");
t1.Style.Add("color", "LightGrey");
t1.Attributes.Add("onFocus", @"if(this.value == 'Default text...') {this.value = '';this.style.color ='LightGrey';}else{this.style.color = '';}");
t1.Attributes.Add("onBlur", @"if (this.value == '') {this.value = 'Default text...';this.style.color ='LightGrey';}else{this.style.color = '';}");
t1.Attributes.Add("onClick", "this.style.color = '';");

答案 1 :(得分:0)

设置文本框的默认文本:

t1.Text = "Your default text here.";

对于焦点事件,您将找到答案 here 。希望这会有所帮助。

修改

我提供的链接是处理焦点变化的答案,而不是设置焦点。您可以使用Focus()方法设置文本框的焦点:

t1.Focus();

答案 2 :(得分:0)

我认为您需要动态添加占位符。你可以做..

t1.Attributes.Add("placeholder", "--your default text here--");

试一试。

答案 3 :(得分:0)

试试这个..

    t1.Attributes.Add("onfocus","if (this.value == 'Full Name') {this.value = '';}");
    t1.Attributes.Add("onblur","if (this.value == '') {this.value = 'Full Name';}");
    qwe2.controls.AddControl(t1);
    t1.Focus();

我希望它有所帮助...