我在我的网络表单应用程序中实现了一个datepicker。 我在一张表格上测试了它,它正在运行。 TextBox的代码是:
<asp:TextBox runat="server" class="fieldset__input js__datepicker picker__input" type="text" id="TbDate" aria-haspopup="true" aria-expanded="false" aria-readonly="false" />
我尝试将相同的文本框添加到另一个表单,但它没有触发。 另一种形式具有相同的母版页。我将所有代码aspx从第一个表单复制到新表单,它正在工作。 我尝试一次删除一行,看看为什么datepicker正在使用这段代码,并发现启用它需要这一行:
<asp:TextBox runat="server" ID="tbEmail" CssClass="form-control" TextMode="SingleLine" />
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="tbEmail" ErrorMessage="The username/email field is required."/>
我想在点击 tbDate TextBox时打开日期选择器,但只有在TextBox tbEmail 的RequiredFieldValidator存在时才能使用。如果我删除验证器,则不会在tbDate TextBox上打开日期选择器。验证器检查tbDate的输入是否是电子邮件格式,因此没有与tbDate TextBox的连接。
另外,我试图删除另一个TextBox,并将fieldValidator附加到tbDate TextBox,它也可以工作。
我不明白这个RequiredFieldValidator是如何帮助打开datepicker的,特别是在另一个文本框中?
理解这将有助于我在其他表格上实施它。
谢谢!
答案 0 :(得分:0)
不确定您使用的是哪个datepicker插件,但是datepickers的标记不一样。
<asp:TextBox runat="server" class="fieldset__input js__datepicker picker__input" type="text" id="TbDate" aria-haspopup="true" aria-expanded="false" aria-readonly="false" />
与
不同<asp:TextBox runat="server" ID="tbEmail" CssClass="form-control" TextMode="SingleLine" />
你错过了第二个datepicker中的类fieldset__input js__datepicker picker__input
,它们可能是初始化datepicker的JS脚本的选择器。尝试添加它,看看它是否可以在没有RequiredFieldValidator
的情况下工作。