[英]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.