在TextBox Asp.NET中更改文本,字体颜色

时间:2013-09-14 15:07:58

标签: asp.net data-binding textbox

当我期待来自用户的输入时,我得到了简单的2个TextBoxes。但我需要在TextBoxes中使用某种字体样式的默认文本。加上app的逻辑不应该证明这个输入。我使用RequiredFieldValidator来达到这个目的。

<asp:RequiredFieldValidator ID="RequiredFieldValidator3"
                             runat="server"
                             ControlToValidate="TextBoxName"
                             ErrorMessage="Error"
                             Text="Povinná položka!"
                             ForeColor="Red"/>
                <asp:TextBox ID="TextBoxName"
                     CssClass="textBoxName"
                     runat="server" 
                     Width="380px"/>

因此,当用户看到此默认TextBox时,他应该会看到类似“项目名称”的内容,因此我使用:

TextBoxName.Attributes.Add("value", "Name of item");
            TextBoxName.Attributes.Add("onFocus", @"if(this.value == 'Name of item') {this.value = '';}");
            TextBoxName.Attributes.Add("onBlur", @"if (this.value == '') {this.value = 'Name of item';}");

但是这个解决方案不正确,因为FieldValidator返回true,即使用户也没有输入任何内容。 我应该使用一些简单的可能不太好的安全技术,并使用用户输入值控制默认值吗?或者我应该使用数据绑定???或者其他一些解决方案?我相信人们至少可以在生活中解决这个问题:D 谢谢

1 个答案:

答案 0 :(得分:0)

我所理解的是,您希望最初有一个文本来帮助用户,如果用户没有真正键入任何内容,您也希望显示验证错误。

您是否遇到过“占位符”属性?它完全符合你的要求。 它非常简单直接,这是一个例子:

 <input placeholder="enter your username" type="text" />

 <input placeholder="enter your Email" type="text" />

 <input type="submit" value="register"/>

http://jsfiddle.net/YXrhC/