当我期待来自用户的输入时,我得到了简单的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 谢谢
答案 0 :(得分:0)
我所理解的是,您希望最初有一个文本来帮助用户,如果用户没有真正键入任何内容,您也希望显示验证错误。
您是否遇到过“占位符”属性?它完全符合你的要求。 它非常简单直接,这是一个例子:
<input placeholder="enter your username" type="text" />
<input placeholder="enter your Email" type="text" />
<input type="submit" value="register"/>