有没有办法用用户提交的textarea值来更新DOM,类似于contenteditable?

时间:2012-11-15 01:08:54

标签: javascript jquery html5 contenteditable

我只需要DOM中的textarea的html标记来反映用户输入的值。 (编辑:用户输入内容并在您点击“检查元素”时显示)

一个令人满意的div工作正常,但现在看来我毕竟需要一个textarea。有人知道用javascript或html5做这个的方法吗?

2 个答案:

答案 0 :(得分:5)

我猜这样的事情会对你有所帮助。 它使用纯javascript和html5数据值属性:

  <textarea id="myTextArea" onkeyup="this.setAttribute('data-value', this.value);" data-value=""></textarea> 

答案 1 :(得分:1)

这应该可以使用text()函数从用户输入中转义html:

$('textarea').on( 'blur' , function() 
{
    var textarea = $( this );
    textarea.next('span').text( textarea.val() );
});

使用以下标记:

<textarea></textarea>
<span></span>​

此处的演示:http://jsfiddle.net/UDfmm/

编辑:如果你想保留换行符,那么就这样做

$('textarea').on( 'blur' , function() 
{
    var textarea = $( this );
    var span = textarea.next('span');

    var content = span.text( textarea.val() ).html();
    var content_with_br = content.replace(/\n\r?/g, "<br />");

    span.html( content_with_br );

});

在这里演示:http://jsfiddle.net/UDfmm/3/