【发布时间】:2020-10-17 13:40:49
【问题描述】:
我正在尝试制作博客类型的网站。我已经到了可以在文本区域框中输入文本然后单击提交以使其出现在下方的地步。但是,我遇到了一个问题,它不保存输入的格式(特别是对我来说,将段落转换为空格)。我已经读过这需要一个富文本编辑器,并且我已经尝试过 TinyMCE,但它提供了比需要更多的选项,或者可以在我的情况下使用。有没有简单的方法来解决这个问题?如果没有,最好的方法是什么?
我主要是在段落、制表符和多个空格格式化之后,其他的目前都不需要。
这是我目前拥有的相关内容:
HTML
<!-- Blog Section -->
<div class="itemBlog">
<h2 id="itemBlogTitle">My Blog</h2>
<textarea type="text" rows="10" cols="100" class="blogTextArea" id="blogInput"></textarea>
<div onclick="newBlog()" class="addBtn">Add</div>
<ul id="blogList"></ul>
</div>
<script src="itemblog.js"></script>
JavaScript
// Create a new blog item when clicking on the "Add" button
function newBlog() {
var li = document.createElement("li");
var inputValue = document.getElementById("blogInput").value;
var t = document.createTextNode(inputValue);
li.appendChild(t);
if (inputValue != '') {
document.getElementById("blogList").appendChild(li);
}
document.getElementById("blogInput").value = "";
var textarea = document.createElement("TEXTAREA");
var txt = document.createTextNode("\u00D7");
textarea.className = "close";
textarea.appendChild(txt);
li.appendChild(textarea);
for (i = 0; i < close.length; i++) {
close[i].onclick = function () {
var div = this.parentElement;
div.style.display = "none";
}
}
}
编辑:空白:预包装;解决了,谢谢
【问题讨论】:
-
只需使用
white-space: pre-wrapCSS 来保留空格。 -
文本区域不包含文本节点。您必须使用
.value来设置或获取文本,而不是.appendChild。还有..你不需要对 document.createElement 大喊大叫。它不是聋子。
标签: javascript html