2013-05-30 8 views
1

Я использую javascript, чтобы показать reamaining character show для sms_textbox. которые допускают только 160 символов.Сценарий не работает после pageload

<script type="text/javascript"> 
      var characterLimit = 160; 
      $(document).ready(function() { 
       $("#lblremaingCharacters").html(characterLimit); 
       $("#txtmessage").bind("keyup", function() { 
        var characterInserted = $(this).val().length; 
        if (characterInserted > characterLimit) { 
         $(this).val($(this).val().substr(0, characterLimit)); 
        } 
        var characterRemaining = characterLimit - characterInserted; 
        $("#lblremaingCharacters").html(characterRemaining); 
       }); 
      }); 
     </script> 

Но этот скрипт работает только при загрузке страницы, не работает, когда другая кнопка asp вызывает событие пожара.

+0

вы используете ** Обновление Панели ** в вашем коде ?? –

+0

сохраните переменную 'characterLimit' внутри области' ready'. –

+0

У вас есть fiddlejs? но, возможно, скрипт много раз пытается отменить привязку перед bind $ ("# txtmessage"). unbind ('keyup'). bind ("keyup", function() { – Sidux

ответ

0

Пожалуйста, попробуйте добавить скрипт в Pageload функция в ASPX странице вместо $ (документ) .ready нравится:

<script type="text/javascript"> 
     var characterLimit = 160; 
     function pageLoad() { 
      $("#lblremaingCharacters").html(characterLimit); 
      $("#txtmessage").bind("keyup", function() { 
       var characterInserted = $(this).val().length; 
       if (characterInserted > characterLimit) { 
        $(this).val($(this).val().substr(0, characterLimit)); 
       } 
       var characterRemaining = characterLimit - characterInserted; 
       $("#lblremaingCharacters").html(characterRemaining); 
      }); 
     } 
    </script> 
+0

Спасибо, что он работает! –

2

Попробуйте заменить characterLimit внутри document.ready функции

$(document).ready(function() { 
      var characterLimit = 160; 
      $("#lblremaingCharacters").html(characterLimit); 

Теперь characterLimit будет работать как глобальное значение для всех событий.

Теперь ваш скрипт должен быть

<script type="text/javascript"> 
     $(document).ready(function() { 
      var characterLimit = 160; 
      $("#lblremaingCharacters").html(characterLimit); 
      $("#txtmessage").bind("keyup", function() { 
       var characterInserted = $(this).val().length; 
       if (characterInserted > characterLimit) { 
        $(this).val($(this).val().substr(0, characterLimit)); 
       } 
       var characterRemaining = characterLimit - characterInserted; 
       $("#lblremaingCharacters").html(characterRemaining); 
      }); 
     }); 
    </script> 
+0

Аналогичная проблема возникает и с этим скриптом. –

+0

on key up try чтобы предупредить значение charcterLimit и проверить – Gautam3164

+0

@ Gautam3164, я попытался оповестить charcterLimit, он корректен в предупреждающем сообщении, но талон, который я показываю для него, становится невидимым для других событий click. Я сделал его видимым с помощью javascript, но все же не смог –

0

Сформируйте код я понял, что вы используете $(document).ready()

Вам нужно, чтобы вы се

function pageLoad() 
{ 
//Your Code 
} 

Это позволит решить проблему

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