Введите ключ в текстовое поле
У меня есть textarea
, На каждой клавише Enter, нажатой в textarea
. Я хочу, чтобы новая строка запускалась с помощью пули (*). Как это сделать?
Нет jQuery, пожалуйста.
Я могу наблюдать за клавишей Enter, после этого!? Должен ли я получить всю ценность textarea
и добавить * к нему и снова заполнить textarea
?
Ответы
Ответ 1
Вы можете сделать что-то вроде этого:
<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>
Несмотря на то, что новый фид символа линии от нажатия ввода все равно будет присутствовать, но его начало получать то, что вы хотите.
Ответ 2
Просто добавьте этот tad в свое текстовое пространство.
onkeydown="if(event.keyCode == 13) return false;"
Ответ 3
Вам нужно рассмотреть случай, когда пользователь нажимает клавишу ввода в середине текста, а не только в конце. Я бы предложил определить ключ ввода в событии keyup
, как это было предложено, и использовать регулярное выражение для обеспечения того, что значение соответствует вашему запросу:
<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>
Ответ 4
Мой сценарий - это когда пользователь нажимает клавишу ввода при вводе текстового поля, я должен включить разрыв строки. Я достиг этого с помощью кода ниже... Надеюсь, это может помочь кому-то......
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>";
}
}
Ответ 5
Вы можете сделать что-то вроде этого:
$("#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>