J'ai un textarea
name__, sur chaque Enter touche enfoncée dans textarea
Je veux que la nouvelle ligne commence par une puce say (*). Comment s'y prendre ?
Non jQuery s'il vous plaît.
Je peux observer pour le Enter clé, après ça!? Devrais-je avoir la valeur entière de textarea
name__, y ajouter * et remplir à nouveau le textarea
name__?
Vous pouvez faire quelque chose comme ça:
<body>
<textarea id="txtArea" onkeypress="onTestChange();"></textarea>
<script>
function onTestChange() {
var key = window.event.keyCode;
// If the user has pressed enter
if (key === 13) {
document.getElementById("txtArea").value = document.getElementById("txtArea").value + "\n*";
return false;
}
else {
return true;
}
}
</script>
</body>
Bien que le caractère de la nouvelle ligne, en appuyant sur Entrée, soit toujours présent, vous pouvez commencer à obtenir ce que vous voulez.
Ajoutez simplement ce genre à votre textarea.
onkeydown="if(event.keyCode == 13) return false;"
Vous devez prendre en compte le cas où l'utilisateur appuie sur Entrée au milieu du texte, pas seulement à la fin. Je suggère de détecter la touche Entrée dans l'événement keyup
, comme suggéré, et d'utiliser une expression régulière pour garantir que la valeur correspond à vos besoins:
<textarea id="t" rows="4" cols="80"></textarea>
<script type="text/javascript">
function formatTextArea(textArea) {
textArea.value = textArea.value.replace(/(^|\r\n|\n)([^*]|$)/g, "$1*$2");
}
window.onload = function() {
var textArea = document.getElementById("t");
textArea.onkeyup = function(evt) {
evt = evt || window.event;
if (evt.keyCode == 13) {
formatTextArea(this);
}
};
};
</script>
Mon scénario est lorsque l'utilisateur appuie sur la touche Entrée en tapant dans textarea, je dois inclure un saut de ligne.J'ai réalisé cela en utilisant le code ci-dessous ...... J'espère que cela aidera quelqu'un .....
function CheckLength()
{
var keyCode = event.keyCode
if (keyCode == 13)
{
document.getElementById('ctl00_ContentPlaceHolder1_id_txt_Suggestions').value = document.getElementById('ctl00_ContentPlaceHolder1_id_txt_Suggestions').value + "\n<br>";
}
}
Vous pouvez faire quelque chose comme ça:
$("#txtArea").on("keypress",function(e) {
var key = e.keyCode;
// If the user has pressed enter
if (key == 13) {
document.getElementById("txtArea").value =document.getElementById("txtArea").value + "\n";
return false;
}
else {
return true;
}
});
<textarea id="txtArea"></textarea>