Je suis en train de créer un système de discussion en ligne, mais j'ai rencontré un problème. J'ai mis en place une fonction en javascript pour vérifier si l'utilisateur appuie sur entrer dans la zone de texte et envoyer le message si cela s'est produit. Le problème est que chaque fois que cette fonction est utilisée, la zone de texte est laissée avec un seul retour de chariot comme si la valeur de la zone de texte était "\ n" alors qu'elle devrait être juste "". Voici le code:Problèmes d'effacement <textarea> après l'envoi du message
function checkEnter(e) {
var charCode;
if (e && e.which) {
charCode = e.which;
} else {
charCode = e.keyCode;
}
if (charCode == 13) {
say();
document.getElementById('chatfieldbox').value = "";
return false;
} else {
return true;
}
}
function say() {
updateStats();
text = document.getElementById('chatfieldbox').value;
xhr=new XMLHttpRequest();
xhr.open("POST", "say", false);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.setRequestHeader("Content-length", text.length);
xhr.setRequestHeader("Connection", "close");
xhr.send("text=" + text);
document.getElementById('chatfieldbox').value = "";
update();
}
function updateStats() {
var text = document.getElementById('chatfieldbox').value;
var num = text.length;
var lines = 1;
for (var i = 0; i < num; i++) {
if (text.charAt(i) == '\n') {
lines++;
}
}
document.getElementById('characters').innerHTML = num;
document.getElementById('lines').innerHTML = lines;
}
say(); fait des trucs ajax pour envoyer le message. updateStats(); est juste un compteur de caractères et de lignes pour le bénéfice de l'utilisateur. dire(); envoie le message au serveur puis appelle à mettre à jour pour voir s'il y a des messages de quelqu'un d'autre à afficher (non pertinents). Le code HTML:
<textarea id="chatfieldbox" onKeyPress="checkEnter(event)"></textarea>
Des suggestions?
pouvez-vous publier les fonctions say() et updateStats()? – glomad
Ajout des autres fonctions ... Je ne pense pas qu'elles soient pertinentes si ... – Puddingfox
sûr qu'elles sont ... nous avons besoin de voir où va le contrôle. – glomad