Javascript 如何显示<;输入类型='';文本'&燃气轮机;不在jquery中创建文本框?

Javascript 如何显示<;输入类型='';文本'&燃气轮机;不在jquery中创建文本框?,javascript,jquery,html,Javascript,Jquery,Html,我有一个评论框(textarea),用户在其中键入内容,当他点击“输入”时,该内容会自动显示在“评论部分”。现在,当用户点击submit时,我正在执行以下代码 var comment = $("#commentBox").val(); var commentSection = $("#commentSection"); comment.appendTo(commentSection); 通过上述代码,用户键入的注释将动态显示在注释部分。这很好,但当用户键入以下内容时 <input typ

我有一个评论框(textarea),用户在其中键入内容,当他点击“输入”时,该内容会自动显示在“评论部分”。现在,当用户点击submit时,我正在执行以下代码

var comment = $("#commentBox").val();
var commentSection = $("#commentSection");
comment.appendTo(commentSection);
通过上述代码,用户键入的注释将动态显示在
注释部分
。这很好,但当用户键入以下内容时

<input type='text'>

在注释框中,然后在注释部分中创建一个文本框。那么,有没有一种方法我不能让这种事情发生?
提前感谢。

您必须将字符串转换为实体。定义此功能:

function htmlencode(str) {
    return str.replace(/[&<>"']/g, function($0) {
        return "&" + {"&":"amp", "<":"lt", ">":"gt", '"':"quot", "'":"#39"}[$0] + ";";
    });
}

一种方法是将数据附加为

大概是这样的:

var comment = $("#commentBox").val();
var commentSection = $("#commentSection");
commentSection.text(comment);
编辑:要附加到注释的现有部分,请替换:

commentSection.text(comment);
与:

试试这个

div.insertAdjacentHTML( 'beforeend', comment);
你可以用

var commentText = $("#commentBox").text();
但这不会清除字符串上的html标记,另外,您可以使用函数来完成此操作

function RemoveHTMLTags(vals) {
            var regX = /(<([^>]+)>)/ig;
            var html = vals;
            return (html.replace(regX, ""));
        }

请在“输入清理”上进行谷歌搜索。你想达到什么目的?你可以使用
encodeURI(comment)
这样做。但是当添加第二条注释时,这会覆盖框中的任何内容。@RoryMcCrossan——挑剔,挑剔
commentSection.text(commentSection.text()+comment)
@RoryMcCrossan my bad,我没有完全理解这个问题,我已经更新了我的anwser+1以简化您的答案,但是chris97ong给出的表达式也有助于我的其他用途。
var commentText = $("#commentBox").text();
function RemoveHTMLTags(vals) {
            var regX = /(<([^>]+)>)/ig;
            var html = vals;
            return (html.replace(regX, ""));
        }
var finalComment = RemoveHTMLTags(commentText);