Je rencontre des problèmes avec le code qui fonctionnait, mais qui ne fonctionne plus. J'ai un compteur de caractères sur une zone de texte avec le code ci-dessous dans le fichier .aspx:registerstartupscript bloque le compteur de caractères javascript
<script>
var bName = navigator.appName;
function taLimit(taObj, maxL) {
if (taObj.value.length == maxL) return false;
return true;
}
function taCount(taObj, Cnt, maxL) {
objCnt = createObject(Cnt);
objVal = taObj.value;
if (objVal.length > maxL) objVal = objVal.substring(0, maxL);
if (objCnt) {
if (bName == "Netscape") {
objCnt.textContent = maxL - objVal.length;
}
else { objCnt.innerText = maxL - objVal.length; }
}
return true;
}
function createObject(objId) {
if (document.getElementById) return document.getElementById(objId);
else if (document.layers) return eval("document." + objId);
else if (document.all) return eval("document.all." + objId);
else return eval("document." + objId);
}
</script>
ASPX:
<asp:TextBox ID="txtDescription" runat="server" Font-Names="Courier New"
TextMode="MultiLine" Width="398px" onKeyPress="return taLimit(this, 50)" onKeyUp="return taCount(this,'myCounter1', 50)"></asp:TextBox>
<br /><B><SPAN id='myCounter1'>50</SPAN></B>
Cela a fonctionné sans problème avant, mais maintenant je veux un moyen de mettre à jour le myCounter1 Au chargement de la page, pour afficher les caractères restants corrects, je charge le texte de la base de données dans la zone de texte.
i en ce moment je utilise ceci:
ScriptManager.RegisterStartupScript(this, this.GetType(), "myscript", "document.getElementById('myCounter1').textContent = 50 - " + txtDescription.Text.Length.ToString() + ";", true);
Cela fonctionne, il met le compteur de caractères aux caractères corrects restants. Maintenant, le problème est quand le texte est tapé dans la zone de texte, le compteur de caractères ne se mettra pas à jour plus dynamiquement. Quelqu'un pourrait-il me dire pourquoi?
Souhaitez-vous utiliser jQUery? rend la vie plus facile –
Ma connaissance de jquery est vraiment inexistante maintenant, et je dois résoudre ce problème dès que possible. – Luckl507
Puis-je vous donner une solution jQUery –