1

我正在使用 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 按钮单击事件触发时不起作用。

4

3 回答 3

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>
于 2013-05-30T10:54:45.033 回答
0

请尝试在aspx 页面的pageLoad函数中添加脚本,而不是 $(document).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>
于 2013-05-30T11:03:25.527 回答
0

形成您正在使用的代码$(document).ready()

你需要使用

function pageLoad()
{
//Your Code
}

这将解决问题

于 2013-05-30T11:15:44.297 回答