1

次のテキスト ボックスとラベルを作成しました。

<asp:TextBox ID="MyTextBox" runat="server"/>
<asp:Label   ID="MyLabel"   runat="server"/>

さらに、次の JavaScript 関数を作成しました。

function characterLimit(myTextBox, myLabel)
{
    myLabel.innerHTML = myTextBox.value.length + '/' + myTextBox.maxLength;
}

最後に、コード ビハインドで次のことを実行しました。

TextBox1.Attributes.Add("OnKeyUp", "characterLimit(MyTextBox, MyLabel);");

characterLimit()呼ばれます。ただし、何も起こりません。まるで私が合格MyTextBoxMyLabelていて間違っているかのようです(上記)。これを行う正しい方法は何ですか?

4

1 に答える 1

4

プロパティを使用しClientIDます。MasterPagesこれは、コントロールを変更する の使用を開始する場合に役立ちますIDs

IDsしかし、この特定のケースでは、パラメーターとして送信するときに引用符を付けるだけだと思います。

TextBox1.Attributes.Add("OnKeyUp", "characterLimit('" + MyTextBox.ClientID + "','" +  MyLabel.ClientID + "');");

Javascriptコメントの提案に従って、コードを少し変更する必要があります。

function characterLimit(myTextBox, myLabel)
{
    document.getElementById(myLabel).innerHTML = myTextBox.value.length + '/' + document.getElementById(myTextBox).maxLength;
}

そして、ヒントとして、もう試しましjQueryたか?

于 2013-08-13T14:57:21.427 に答える