0

jQuery我的 Asp.net 页面上的脚本遇到了一些问题。在第一次加载期间它运行良好,在回发后它不会。最初我认为这是因为脚本没有再次加载,但警报告诉我脚本在我使用 functionpageLoad()而不是$(document).ready(function(). 在脚本中,我只是从一个文本区域读取值并将长度值设置为下一个文本输入。我将脚本放入这样的页面:

<script type="text/javascript" src="../js/smsanywhere.js"></script>  

我试图直接放入页面,但我猜没有区别。

脚本如下所示。

    function pageLoad()
    {
       alert('pageLoad is there');
       var textBox  = "textarea[id*='txtMessage']";
       var counterBox  = "input[id*='txtCharLeft']";

       $(textBox).keydown(function(){ 
          alert(this);
          var length = 70 - $(this).val().length;
          $(counterBox).val(length);
          $(counterBox).attr("style",function(){
             return "width:30px;" + (length < 0 ? "background-color:Red;" : "");
         });
       });
    }

我在这个页面上没有使用任何ajax东西,它只是 master page 、 content page 和jQuery.

我错过了什么?

4

1 回答 1

2

我发现了问题....当我像这样添加对 jquery 的引用时:

HtmlGenericControl myJs = new HtmlGenericControl();
myJs.TagName = "script";
myJs.Attributes.Add("type", "text/javascript");
myJs.Attributes.Add("language", "javascript"); //don't need it usually but for cross browser.
myJs.Attributes.Add("src", ResolveUrl("~/js/jquery/jquery-1.2.6.min.js"));
Page.Header.Controls.Add(myJs);

但是我把 if (!IsPostBack){ ... } 放在里面,所以我是...。解决方案只是将它从这种情况中删除并每次运行它... uff。

谜底就这么解开了……

于 2008-12-09T05:53:15.670 回答