2011-02-13 7 views
1

Я не могу заставить 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, если кто-то не может предложить какие-либо советы.

ответ

0

Попробуйте изменить селектор на что-то вроде этого:

var outputField = $("#<% lblCharacterCount.ClientId %>"); 

Идентификатор установить на контроле, как правило, не идентификатор, который получает возложенные на него в HTML, который генерируется. Используя свойство ClientId, вы получите этот HTML-код.

Конечно, я не использовал ASP.NET через некоторое время, поэтому этот ответ может оказаться бесполезным.

+0

Спасибо Джейсону, ваш синтаксис был немного от меня, но я уже пробовал это. Он все еще возвращается «неопределенным». – mokumaxCraig

Смежные вопросы