0

嗨,当我期望用户输入时,我得到了简单的 2 个文本框。但我需要在具有特定字体样式的 TextBoxes 中获得默认文本。应用程序的 Plus 逻辑不应证明此输入。我为此目的使用了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"/>

因此,当用户看到这个默认文本框时,他应该看到类似“项目名称”的内容,所以我使用:

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 谢谢

4

1 回答 1

0

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

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

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

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

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

http://jsfiddle.net/YXrhC/

于 2013-09-14T15:20:25.680 回答