質問

i JQuery検証プラグインのルールをカスタマイズしようとしましたが、ほぼ完了です。私が得た唯一の問題は、関数$(<!> quot; <!> lt;%= txtUserl.UniqueID%<!> gt; <!> quot;)。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()が空の文字列<!> quot; <!> quot;を返すことです。実際、値を変更すると、テキストボックスの古い値が返されます。現在の値が返されないため、必要です...

役に立ちましたか?

解決

UniqueIDではなくtxtUser.ClientIDを試してください

他のヒント

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

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

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

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top