it-swarm.com.de

Geben Sie den Schlüssel in das Textfeld ein

Ich habe eine textareaname__, auf jeder Enter Taste gedrückt in textareaIch möchte, dass die neue Zeile mit einem Aufzählungszeichen (*) beginnt. Wie geht man vor?

Keine jQuery bitte.

Ich kann für die beobachten Enter Schlüssel danach!? Muss ich den gesamten Wert von textareaabrufen und * anhängen und den textareaerneut ausfüllen?

19
sat

Sie könnten so etwas tun:

<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>

Der neue Zeilen-Zeichen-Feed wird durch Drücken der Eingabetaste immer noch vorhanden sein, aber es ist ein Anfang, um das zu bekommen, was Sie wollen.

24
williamtroup

Fügen Sie dieses Stück einfach zu Ihrem Textbereich hinzu.

onkeydown="if(event.keyCode == 13) return false;"

Sie müssen den Fall berücksichtigen, in dem der Benutzer die Eingabetaste in der Mitte des Textes drückt, nicht nur am Ende. Ich empfehle, die Eingabetaste im keyup-Ereignis wie vorgeschlagen zu ermitteln und einen regulären Ausdruck zu verwenden, um sicherzustellen, dass der Wert Ihren Anforderungen entspricht:

<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>
7
Tim Down

Mein Szenario ist, wenn der Benutzer beim Eingeben des Textbereichs die Eingabetaste drückt. Ich muss einen Zeilenumbruch einfügen. Ich habe dies mit dem folgenden Code erreicht ...... Ich hoffe, es kann jemandem helfen ......

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>";
    }
}
3
MuraliKrishna

Sie könnten so etwas tun:

$("#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>

0
QuyPham