私は次のようなjavascript関数を持っています:
function textCounter(field, rem, maxlimit) {
if (field.value.length > maxlimit)
field.value = field.value.substring(0, maxlimit);
else
rem.value = maxlimit - field.value.length;
}
ここでは、別の複数行のテキストボックス(フィールド)の文字列の長さに基づいて、テキストボックス(rem)に値を設定しようとしています。私のページの読み込み時に、以下に示すようにそれを呼び出そうとしています:
this.Page.ClientScript.RegisterStartupScript(this.GetType(), "testFunction", "textCounter(txtRemark," + txtRemarksRem.ClientID + ", '2000')", true);
しかし、それは機能していないようです。私はここで何が間違っているのですか。
私が解決しようとしている問題は、複数行のテキストボックスのonkey upおよびkeydown属性で、関数を呼び出してcounter textbox(rem)に正しい値を設定できますが、ページの読み込み時にその値が再びデフォルトに設定されることです。他に解決策がある場合は、提案してください。
txtRemark.Attributes.Add("onKeyUp", "textCounter(this," + txtRemarksRem.ClientID + ", '2000')");
txtRemark.Attributes.Add("onkeydown", "textCounter(this," + txtRemarksRem.ClientID + ", '2000')");
上記のコードは正常に機能しているようです(キーアップまたはキーダウンでカウンター値を設定します)。