ASP:TextBox或ASP:CheckBoxList,当Requiredfield验证器在那里时抛出Javascript错误

时间:2011-08-23 15:51:18

标签: asp.net sharepoint

我为我的SharePoint创建了一个用户控件,它有一个简单的TextBox和一个CheckBoxList。对于这两个控件,我有ASP:RequiredFieldValidatorASP:RegularExpressionValidator

当我在CheckBoxList中选择某个项目或在TextBox中输入一些输入时,我在某个未知位置收到了javascript错误。 (我的客户不接受这一点。)

现在,当我使用FireBug进行调试时,在控制台中我看到validators[i]为空。它实际上是由这些验证器生成的JS代码失败的。

有人可以帮助我吗?

编辑:

<asp:TextBox ID="txtNumbers" runat="server" CssClass="Label4" ></asp:TextBox>
                                    <asp:RegularExpressionValidator ID="RegularExpressionValidatorGPC" runat="server"
                                        ControlToValidate="txtNumbers" ErrorMessage="Only Numbers Accepted "
                                        ValidationExpression="^\d+$"
                                        SetFocusOnError="true"></asp:RegularExpressionValidator>
                                    <asp:RequiredFieldValidator ID="RequiredNUMValue" runat="server" ControlToValidate="txtNumbers"
                                        SetFocusOnError="true" ErrorMessage="Please enter a valid number"></asp:RequiredFieldValidator>

另外, 我为RadioButtonList添加了必填字段验证器(不是CheckBoxList)。

<asp:RadioButtonList ID="rbtOptions" runat="server" CssClass="Label3">
                                        <asp:ListItem Text="Option 1" />
                                        <asp:ListItem Text="Option 2" />
                                    </asp:RadioButtonList>
                                    <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="rbtOptions"
                                        SetFocusOnError="true" ErrorMessage="Please Select a Valid Option"></asp:RequiredFieldValidator>

当我输入TextBox中的任何文字或选择任何选项时,都会出现JavaScript错误。

1 个答案:

答案 0 :(得分:0)

您网页上还有其他与此相冲突的内容。拿你发布的内容并尝试一个简单的页面它可以正常工作,所以我假设有其他元素/脚本导致这个。

<div>
    <asp:TextBox ID="txtNumbers" runat="server" CssClass="Label4"></asp:TextBox>
    <asp:RegularExpressionValidator ID="RegularExpressionValidatorGPC" runat="server" ControlToValidate="txtNumbers" ErrorMessage="Only Numbers Accepted " ValidationExpression="^\d+$" SetFocusOnError="true"></asp:RegularExpressionValidator>
    <asp:RequiredFieldValidator ID="RequiredNUMValue" runat="server" ControlToValidate="txtNumbers" SetFocusOnError="true" ErrorMessage="Please enter a valid number"></asp:RequiredFieldValidator>
    <asp:RadioButtonList ID="rbtOptions" runat="server" CssClass="Label3">
        <asp:ListItem Text="Option 1" />
        <asp:ListItem Text="Option 2" />
    </asp:RadioButtonList>
    <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="rbtOptions" SetFocusOnError="true" ErrorMessage="Please Select a Valid Option"></asp:RequiredFieldValidator>
    <asp:Button ID="btnSubmit" runat="server" Text="submit" />
</div>

您的标记中是否有任何脚本标记或其他元素可能会干扰它?

自闭标签可能会导致类似这样的问题(不是没有)