0

我尝试自定义 JQuery 验证插件的规则,我几乎完成了。我遇到的唯一问题是函数 $("<%=txtUserl.UniqueID %>").val() 返回未定义。如何获得该文本框的值?

$("#aspnetForm").validate
(
    {
        rules:
        {
            <%=txtUser.UniqueID %>: 
            {
                required: true,
                remote: "CheckUser.aspx?User=" + $("#<%=txtUser.ClientID %>").val()
            }
        },
        messages:
        {
            <%=txtUser.UniqueID %>: 
            {
                remote: "Invalid user"
            }
        }
    }
);

在我的网络表单中

<asp:TextBox ID="txtUser" runat="server" TabIndex="1" />

更新

我改为使用 ClientID 而不是 UniqueID。此外,我将我的 javascript 代码放在文件的末尾而不是文件的开头。

现在,我遇到的问题是 txtUser.val() 返回一个空字符串“”。事实上,我注意到如果我更改值,它会返回文本框的旧值。它不返回当前值,这是我需要的......

4

3 回答 3

2

尝试 txtUser.ClientID 而不是 UniqueID

于 2009-09-18T23:02:42.620 回答
0
$("#<%=txtUser.ClientID %>").val()

请注意缺少的 # 。

于 2009-09-18T23:42:53.550 回答
0

是的,使用 txtUser.ClientID 但您还必须使用 (#) 来获取您的语句应该是的文本框的值

$("#"+"<%=txtUser.UniqueID %>").val()

如果你不使用 (#) 符号,那么它会给出错误希望这会有所帮助

于 2009-09-19T00:05:30.773 回答