Я не могу заставить Javascript работать с моим usercontrol. Все, что я хочу сделать, это подсчет символов в текстовом поле mulitline (что добавляет еще один уровень сложности). Я хочу подсчитать символы и отобразить их на ярлыке.Использование JQuery в UserControl с MasterPage
У меня есть Javascript в .js файл включен в MasterPage:
function textCounter(field, countfield, maxlimit) {
var output = document.getElementById(countfield);
if (output == null) { return; }
if (field.value.length > maxlimit)
field.value = field.value.substring(0, maxlimit);
else
output.value = maxlimit - field.value.length;
}
Мой UserControl имеет небольшой код:
<script type="text/javascript" language="javascript">
if (typeof contentPageLoad == 'function') {
var outputField = $("[id$='lblCharacterCount']");
}
</script>
<asp:TextBox ID="txtMyTest" runat="server" Height="75px" CssClass="form-field full" TextMode="MultiLine" MaxLength="140"
onkeyup="textCounter(this, outputField, 140);" onkeydown="textCounter(this, outputField, 140);" ></asp:TextBox>
<asp:Label ID="lblCharacterCount" runat="server"></asp:Label>
outputField всегда нуль, когда он пытается выполнить команду функция. Я попытался добавить его (скрипт в UserControl) в скриптблоке в UserControl PageLoad, PreRender и PreInit. Ничто не работает.
UPDATE:
Я был в состоянии получить UserControl Javascript работает без в UpdatePanel. В этом была проблема, UserControl был в UpdatePanel. Я отказался от использования Usercontrol в панели обновления с JS, если кто-то не может предложить какие-либо советы.
Спасибо Джейсону, ваш синтаксис был немного от меня, но я уже пробовал это. Он все еще возвращается «неопределенным». – mokumaxCraig