简体   繁体   English

页面加载后脚本不起作用

[英]Script not working after pageload

I am using javascript to show reamaining character show for sms_textbox. 我正在使用JavaScript来显示sms_textbox的剩余字符显示。 which allow only 160 character. 仅允许使用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>

But this script working good only at page load, not working when other asp button click event fire. 但是此脚本仅在页面加载时有效,而在其他asp按钮单击事件触发时则不起作用。

Try to replace characterLimit inside the document.ready function 尝试替换document.ready函数中的characterLimit

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

Now the characterLimit will work like global value for all your events. 现在,characterLimit将对所有事件像全局值一样工作。

Now your script should be 现在您的脚本应该是

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

Please try adding script in pageLoad function in aspx page instead of $(document).ready like: 请尝试在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>

Form your code i got that you are using $(document).ready() 形式你的代码我得到你正在使用$(document).ready()

You need to use 您需要使用

function pageLoad()
{
//Your Code
}

This will solve the problem 这样可以解决问题

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM