TextBox中的datepicker不能在某些aspx页面上工作

时间:2015-01-21 12:34:50

标签: javascript c# jquery asp.net datepicker

我在我的网络表单应用程序中实现了一个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的,特别是在另一个文本框中?

理解这将有助于我在其他表格上实施它。

谢谢!

1 个答案:

答案 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的情况下工作。