Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获取textarea值并维护HTML样式_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 如何获取textarea值并维护HTML样式

Javascript 如何获取textarea值并维护HTML样式,javascript,jquery,ajax,Javascript,Jquery,Ajax,我正在为我的web应用程序构建一个注释模块 在应用程序中,我需要注释。当用户发表评论时,我希望jQuery获取TextArea的值,然后将其插入页面。问题是,当它插入内容时,它会丢失HTML格式,主要是分页符/返回,这会让用户感到困惑。如何修复代码以保留HTML样式 片段: comments.js var textsubmitted = $("#write-new-comment-textarea").val(); var commentStr = '<li><div clas

我正在为我的web应用程序构建一个注释模块

在应用程序中,我需要注释。当用户发表评论时,我希望jQuery获取TextArea的值,然后将其插入页面
。问题是,当它插入内容时,它会丢失HTML格式,主要是分页符/返回,这会让用户感到困惑。如何修复代码以保留HTML样式

片段: comments.js

var textsubmitted = $("#write-new-comment-textarea").val();
var commentStr = '<li><div class=\"comment-header\"><span class=\"comment-avatar\"><a href=\"/user-view/' + data.personid + '/\"><img src=\"' + data.profilepicsrc + '\" /></a> </span><span class=\"comment-author\"><a href=\"/user-view/' + data.personid + '/\"> <b>' + data.personname + '</b> </a></span><span class=\"comment-timestamp\">just now</span> </div><div class=\"comment-body\"><p>' + textsubmitted + '</p></div></li>';
var textsubmitted=$(“#编写新注释textarea”).val();
var commentStr='
  • 刚才'+textsubmitted+'

  • 谢谢,试试这个

    var textsubmitted=$(“#编写新注释textarea”).val();
    var commentStr='
  • '+ ''+ ''+ ''+ ''+ ''+ ' 刚才的+ ''+ ''+ “”+brbr(textsubmitted)+“

    ”+ “
  • ”; 函数brbr(str){ var breakTag='
    '; 返回(str+'')。替换(/([^>\r\n]?)(\r\n |\n\r |\r |\n)/g,'$1'+breakTag+'$2'); }​
    您需要转义textsubmitted字符串。如果设置div的text属性,jquery会自动执行该操作。因此,您只能构建commentsStr的HTML部分,将其附加到dom中,然后稍后为其分配文本值

    var textsubmitted = $("#write-new-comment-textarea").val();
    var commentStr = '<li><div class=\"comment-header\"><span class=\"comment-avatar\"><a href=\"/user-view/' + data.personid + '/\"><img src=\"' + data.profilepicsrc + '\" /></a> </span><span class=\"comment-author\"><a href=\"/user-view/' + data.personid + '/\"> <b>' + data.personname + '</b> </a></span><span class=\"comment-timestamp\">just now</span> </div><div class=\"comment-body\"><p></p></div></li>';
    $("div.comment-body").text(textsubmitted);
    
    var textsubmitted=$(“#编写新注释textarea”).val();
    var commentStr='
  • 刚才

  • '; $(“div.comment-body”).text(text已提交);
    这也很好地解决了问题:
    var textsubmitted2show=$('write new comment textarea').val()。替换(/\n/g,
    ')

    你在哪里添加这些数据?我正在将其添加到评论列表(UL)中。你选择的答案有问题。。请阅读下面的我的评论…这是cleaver,但
    $(“div.comment-body”)
    还不存在。。。我想是吧?:)通过OP的html结构,我知道有很多
    $(“div.comment-body”)
    。。。而你正在替换它的内容。。。所有这些。。。
    var textsubmitted = $("#write-new-comment-textarea").val();
    var commentStr = '<li><div class=\"comment-header\"><span class=\"comment-avatar\"><a href=\"/user-view/' + data.personid + '/\"><img src=\"' + data.profilepicsrc + '\" /></a> </span><span class=\"comment-author\"><a href=\"/user-view/' + data.personid + '/\"> <b>' + data.personname + '</b> </a></span><span class=\"comment-timestamp\">just now</span> </div><div class=\"comment-body\"><p></p></div></li>';
    $("div.comment-body").text(textsubmitted);