单击提交按钮后输入文本区域的文本

时间:2020-01-21 16:43:30

标签: javascript html

我正在尝试将文本区域的输入文本打印到控制台。 用户将键入一条消息,然后单击一个按钮,然后文本将被打印到控制台上。

这是我的HTML:

<form action='/send_message' method='POST'>
        <textarea name='message' id='message_box'></textarea>
        <input name='receiver_id' type='text' id='number' style="display: none" value="{{info[0][0]}}">
        <button id='btn' class='btn btn-primary' type='submit'>Message {{info[0][2]}}</button>
    </form>

这是JS:

        var message = $('textarea#message_box').val();
        var button = document.getElementById('btn');

        button.addEventListener('click',function(){
            console.log(message)
        });

问题是无论该区域是空的还是包含文本,我都在控制台中收到一条空消息。 我尝试了val(),text,innerHTML的各种组合,但是我几乎总是得到相同的空输出...

1 个答案:

答案 0 :(得分:5)

单击按钮时,您需要获取textarea的值,因此请在事件监听器中分配message变量。因为我们想每次单击按钮时都获得textarea的值。

var button = document.getElementById('btn');
button.addEventListener('click', function() {
    var message = $('textarea#message_box').val();
    console.log(message)
});