2011-08-03 2 views
0

J'ai une zone de texte dans mon formulaire qui accepte tous les caractères possibles de l'utilisateur. Je limite le nombre de caractères entré dans la zone de texte à 10. Lorsque l'utilisateur entre un texte de caractère spécial dire `SampleTxt » le nombre de caractères dans textarea est 10. Mais quand je reçois la valeur de la zone de texte sous la forme, le texte devient ‘ SampleTxt ’Conversion de caractères spéciaux de Javascript en Java

et le compte du texte devient 21. Comment surmonter ce problème?

function toCount(in) { 
    var inObj=document.getElementById(in); 
    var re='/\r\n|\n|\r\|\f/g'; 
    var i=0; 
    while(re.match(inObj.value)){i++;} 
    var length=characters - (inObj.value.length+i); 
    if(length <= 0) { 
     inObj.value=inObj.value.substr(0,characters); 
document.getElementById("remcount").innerHTML = inObj.value.length; 
     } 
    } 

Jsp

< html:textarea property="descTxt" styleId="desc" onkeyup="toCount('desc');" /> 
+0

Je pense que la réponse à cette question vous aidera à: http://stackoverflow.com/questions/1912501/unescape-html-entities-in-javascript – aroth

+0

@aroth même quand je l'utilise unescape. J'obtiens ce problème – DDK

+0

Oui, parce que 'unescape()' est la mauvaise fonction à utiliser dans ce cas. Vous devez utiliser la fonction 'htmlDecode()' décrite dans la réponse à l'autre question. – aroth

Répondre

0

On dirait que vous êtes peut-être trouvé le texte de la zone de texte avec o.innerHTML quand vous devriez obtenir le texte avec o.value.

Affichez votre code actuel pour obtenir une aide plus détaillée.

+0

Je reçois la valeur de la zone de texte en utilisant var txt = escape (document.getElementById ("desc"). Value); – DDK

Questions connexes