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

我将文本框动态添加到 qwe2 qwe2 只是一个面板

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

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

4

4 回答 4

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 = '';");
于 2013-08-14T10:26:08.703 回答
0

设置文本框的默认文本:

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

对于焦点事件,你会在这里找到答案。希望这可以帮助。

编辑:

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

t1.Focus();
于 2013-08-14T10:20:07.863 回答
0

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

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

尝试一下。

于 2013-08-14T10:22:44.250 回答
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();

我希望它可以帮助...

于 2013-08-14T10:42:06.550 回答