Введите ключ в текстовое поле

У меня есть 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>