2008-12-09 100 views
0

我的Asp.net页面上的JQuery脚本有一些麻烦。在第一次加载时,它在回发之后很好地工作,而不是。 Initiali我认为这是因为脚本不再加载,但警告告诉我,脚本运行时,我使用函数pageLoad()而不是$(document).ready(function()。 在脚本中,我只是从一个textarea并将长度值设置为下一个文本输入。我将脚本放入如下页面:
< script type =“text/javascript”src =“../ js/smsanywhere.js”> </script>
I试图将直接进入页面,但没有任何区别,我猜。jquery脚本无法工作后回发即使页面加载

脚本如下所示。

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在这个页面,它的只是母版页,内容页和jQuery。

我失去了什么......

回答

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

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

如此神秘整理出来...