【问题标题】:jQuery saving string with .text() + JSON and reading with .val() loses line breaksjQuery 使用 .text() + JSON 保存字符串并使用 .val() 读取会丢失换行符
【发布时间】:2012-06-29 09:15:28
【问题描述】:

我正在发送和检索数据以在<textarea> 中查看。

发送:

$.ajax({
           url: "./xxx/xxx",
           type: "POST",
           dataType: "json",
           data: JSON.stringify({
           text: $('#txtText').text(),
           xxx: $('#xxx').text()
        })

检索

if (data.d.Text != "") {
        $('#txtText').val(data.d.Text);
}

结果是发送的文本正确,但没有换行符。我需要正确显示换行符。

我玩过.text().html().val(),但想不通。

我使用的是 jQuery 1.7.2

【问题讨论】:

  • 你在什么时候失去了换行符? .val() 在我自己的测试中似乎很高兴地保留了它们。

标签: jquery ajax json text line-breaks


【解决方案1】:

您也应该使用.val() 来检索内容,而不是.text()

后者只会检索页面中从服务器下载的值

任何后续编辑只会更改字段的 .value 属性,而不是字段的文本节点子节点的内容。

【讨论】:

【解决方案2】:

添加代码以将
替换为换行符 \n 字符

text_str = data.d.Text
text_str = text_str.replace("<br/>","\n"); 
$('#txtText').val(text_str);

【讨论】:

  • textarea 的内容中没有&lt;br&gt; 字符串,至少除非明确输入。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-02-14
  • 2011-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-18
  • 1970-01-01
相关资源
最近更新 更多