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" />

アップデート

UniqueID の代わりに ClientID を使用するように変更します。また、ファイルの先頭ではなく、ファイルの末尾に JavaScript コードを配置しました。

今、私が得た問題は、txtUser.val() が空の文字列 "" を返すことです。実際、値を変更すると、テキストボックスの古い値が返されることに気付きました。それは私が必要とする現在の値を返しません...

4

3 に答える 3

2

UniqueID の代わりに txtUser.ClientID を試してください

于 2009-09-18T23:02:42.620 に答える
0

はい、txtUser.ClientID を使用しますが、(#) を使用して、ステートメントが必要なテキスト ボックスの値を取得する必要があります。

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

(#) 記号を使用しないと、エラーが発生します。これが役立つことを願っています

于 2009-09-19T00:05:30.773 に答える
0
$("#<%=txtUser.ClientID %>").val()

欠落している # にも注意してください。

于 2009-09-18T23:42:53.550 に答える