页面加载后脚本无法正常工作

时间:2013-05-30 10:53:05

标签: c# javascript jquery asp.net

我正在使用javascript来显示sms_textbox的重复字符显示。只允许160个字符。

   <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按钮点击事件触发时无效。

3 个答案:

答案 0 :(得分:2)

尝试替换document.ready函数

中的characterLimit
  $(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>

答案 1 :(得分:0)

请尝试在 aspx页面中的 pageLoad 功能中添加脚本,而不是$(文档)。就像:

    <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>

答案 2 :(得分:0)

使用$(document).ready()

形成您的代码

您需要使用

function pageLoad()
{
//Your Code
}

这将解决问题