Javascript 显示新行而不是\n
我正在尝试HTML5的新功能,到目前为止,我已经成功地捕获了输入到表单中的内容(文本),并将其存储在LocalStorage中 当一个人返回页面时,我的问题就开始了,我希望将LocalStorage值加载到表单上的正确输入中 我也成功地做到了这一点,但是我的用户会看到以下内容:Javascript 显示新行而不是\n,javascript,html,local-storage,Javascript,Html,Local Storage,我正在尝试HTML5的新功能,到目前为止,我已经成功地捕获了输入到表单中的内容(文本),并将其存储在LocalStorage中 当一个人返回页面时,我的问题就开始了,我希望将LocalStorage值加载到表单上的正确输入中 我也成功地做到了这一点,但是我的用户会看到以下内容: $(document).ready(function() { allTextAreasOnPage.each(function(index, entry) { var idOfTextArea =
$(document).ready(function() {
allTextAreasOnPage.each(function(index, entry) {
var idOfTextArea = $(this).attr('id');
if (pageLocalStorage.get(idOfTextArea)) {
$(this).val(pageLocalStorage.get(idOfTextArea));
}
});
});
但是我想让他们看到没有双引号和新行字符的文本,所以我想让他们看到:
嗨
你好吗
就像他们最初输入的一样。我怎样才能做到这一点
要设置文本区域的值,我使用以下命令:
$(document).ready(function() {
allTextAreasOnPage.each(function(index, entry) {
var idOfTextArea = $(this).attr('id');
if (pageLocalStorage.get(idOfTextArea)) {
$(this).val(pageLocalStorage.get(idOfTextArea));
}
});
});
在我看来,您的字符串正在存储为JSON
$(this).val(JSON.parse(pageLocalStorage.get(idOfTextArea)));
应该解决它,但你应该调查原因…当你链接代码时,确保你实际使用的是你所说的代码
..如何设置
文本区域的值?我的第一个猜测是,您对字符串进行了两次编码(因为有引号),看起来不错。如何填充本地存储?与我提供的链接(第一行)相同。是否确定JSON.parse
仍在get
函数中?要么是编码两次,然后解码一次,要么是编码一次却从不解码。啊,不,我从get中删除了JSON.parse位,因为它当时给了我一些错误。让我把它加回去,看看会发生什么。没有答案,因为OP犯了一个错误。这很公平,但这样的答案值得冒险吗?我道歉。正如我所说,我最初确实使用了JSON.get()
,但由于控制台中的错误而将其删除。我应该在最初的问题中澄清这一点。