[英]Required Field Validator for textbox having onblur value
我有一个具有onblur值的文本框。 应用它时,其相应的“必填字段验证器”不起作用。 我的代码在这里
<div align="center">
<asp:TextBox ID="tb_age" runat="server"
onfocus="if (this.value == 'Select Age') this.value = '';"
onblur="if (this.value == '') this.value = 'Select Age';"
value="Select Age" >
</asp:TextBox>
<asp:RequiredFieldValidator runat="server" id="req_tb_age"
controltovalidate="tb_age" errormessage="*" SetFocusOnError="True"
Display="Dynamic" />
<asp:Button ID="bt_show" runat="server" text="Show"
CausesValidation="true"
onclick="bt_show_data_Click" OnClientClick="Confirm()"/>
</div>
代替使用onfocus / onblur事件,对TextBox使用placeholder="Select Age"
属性。
正如@borissh所说,您可以使用placeholder
属性,如果您不想使用placeholder
,则可以将属性InitialValue="Select Age"
到RequiredFieldValidator
控件中。
你可以在这里学习更多
可能的问题是代码循环遍历所有验证器,但没有比较一次引用同一控件的验证器。
试试这个解决方案
通常, RequiredFieldValidator由客户端的onChange事件触发。 但是您正在尝试通过onBlur事件实现相同的目的。 Yoy需要添加此代码段来触发onBlur的验证器,
void Page_Load(object sender, EventArgs e)
{
txtSummary.Attributes.Add("onblur", "ValidatorValidate(" + reqvalSummary.ClientID + ")");
}
希望这可以帮助。 或者,转到此链接以了解更多信息。
而不是编写内联JS,您应该在一个地方编写所有JS代码。 外部文件是管理代码的最佳方法,尽管您可以在同一页面上编写文件特定的JS。
<asp:TextBox ID="tb_age" runat="server"
onfocus="Validate(this)"
onblur="Validate(this)"
value="" >
</asp:TextBox>
<script type="text/javascript">
function Validate(elem)
{
if (elem.value == '')
{
elem.value = 'Select Age';
}
}
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.