簡體   English   中英

顯示方式 <input type=''text'> 沒有在jQuery中創建一個文本框?

[英]How to display <input type=''text'> without creating a textbox in jquery?

我有一個注釋框(文本區域),用戶在其中輸入內容,當他點擊時,該內容將自動顯示在“注釋部分”中。 現在,當用戶點擊“提交”時,我正在執行以下代碼,

var comment = $("#commentBox").val();
var commentSection = $("#commentSection");
comment.appendTo(commentSection);

通過以上代碼,用戶鍵入的注釋將動態顯示在commentSection 這可以正常工作,但是當用戶鍵入類似內容時,

<input type='text'>

在注釋框中,然后在注釋部分中創建一個文本框。 那么有沒有辦法讓我不讓這種事情發生呢? 提前致謝。

一種方法是將數據附加為.text

像這樣:

var comment = $("#commentBox").val();
var commentSection = $("#commentSection");
commentSection.text(comment);

編輯:要追加到注釋的現有部分,請替換:

commentSection.text(comment);

與:

commentSection.text(commentSection.text() + comment);

您必須將字符串轉換為實體。 定義此功能:

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

然后在用戶按下Enter鍵時運行以下代碼:

var comment = htmlencode($("#commentBox").val());
var commentSection = $("#commentSection");
comment.appendTo(commentSection);

嘗試這個 ,

div.insertAdjacentHTML( 'beforeend', comment);

您可以使用

var commentText = $("#commentBox").text();

但這不會清除字符串上的html標簽,此外,您可以使用函數來執行此操作

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

然后您使用:

var finalComment = RemoveHTMLTags(commentText);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM