2008-12-09 4 views
0

J'ai des problèmes avec le script JQuery sur ma page Asp.net. Pendant le premier chargement, cela fonctionne bien, après la publication, ce n'est pas le cas. Initiali Je pensais que c'est parce que le script n'est pas encore chargé, mais l'alerte m'a dit que le script s'exécute comme j'utilise la fonction pageLoad() au lieu de $ (document) .ready (function() En script je viens de lire la valeur d'un textarea et définissez la valeur de longueur à la prochaine entrée de texte que je suis en train de script dans la page comme ceci:.
< script type = "text/javascript" src = "../ js/smsanywhere.js"> </script>
I essayé de placer directement dans la page, mais il n'y a pas de différence je suppose.Le script jquery ne fonctionne pas après la publication même avec pageLoad

Le script est illustré ci-dessous.

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;" : ""); 
    }); 
    }); 
} 

Je n'utilise aucun ajax sur cette page, c'est juste une page maître, une page de contenu et une jquery.

Qu'est-ce que je manque ...

Répondre

2

J'ai trouvé le problème .... que j'ajouter une référence à jquery comme ceci:

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

Mais je placé à l'intérieur si {(IsPostBack!). ..} donc j'étais .... solution est seulement de l'enlever de cette condition et l'exécuter chaque fois ... uff.

Alors le mystère réglé ...

Questions connexes