首页 > 解决方案 > HTML textarea 值在运行时未从 js 获取

问题描述

我没有太多使用 JS 的经验,但是当我写入 textarea 时,我试图使用 JS 从 textarea 中获取值,但它无法使用 append 函数。

在 HTML 中:

<textarea required="" name="wall_post_text" id="wall_post_text" placeholder="Write something...">  </textarea>

javascript代码:

$(document).on('click', 'li.tag_system_search_people', function() {
            var username = $(this).attr('data-people_username');
            var user = $(this).attr('data-people');
            var content = $('#wall_post_text').val();

            content = content.replace(/@(\w+)/ig,'');
            $('#wall_post_text').val(content);
            $('#wall_post_text').append(" <span data-people='"+user+"' data-people_tagged='"+username+"' class='people_tagged' contenteditable='false'>"+username+"</span> ");
alert($('#wall_post_text').val());
            $('#pg_social form#wall_post) 
        });

警报正在打印,但文本没有附加功能中的文本。

标签: javascriptjqueryappend

解决方案


你做的不对。

例如:

// find elements
$('.elm_submit').on('click', function() {
    /*var username = $(this).attr('data-people_username');
    var user = $(this).attr('data-people');*/
    
    // its value (You can too insert html in variable).
    var content = $('#wall_post_text').val();
    
    // insert value in div
    $('.content').html(content);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!-- Value -->
<textarea required="" name="wall_post_text" id="wall_post_text" placeholder="Write something...">  </textarea>

<!-- Get element --> 
<div class="content">

</div>

<!-- Fire -->
<button class="elm_submit">
Click
</button>

而且您的邮政编码不完整...

    $('#pg_social form#wall_post ... <-
});

推荐阅读