【问题标题】:append text to a textarea with line breaks将文本附加到带有换行符的文本区域
【发布时间】:2013-08-19 04:16:18
【问题描述】:

我想向textarea 添加一些字符串,它们是文件基名。一切都很好,但唯一的问题是它混合了所有值并且没有任何换行符:

var file_name = file.file_name;
var base = new String(file_name).substring(file_name.lastIndexOf('/') + 1); 
if(base.lastIndexOf(".") != -1)       
base = base.substring(0, base.lastIndexOf("."));
$('textarea#image_Basename').append(base).split('\n');

这些是我的文件基组:

5b0cd65710052633dc5dcac406a382c4
212asaddgcvjh622sdsds22113554dfd
5sd5weea55rr6qasfdjkloijhj665s6a

但是在将数据存储到数据库并检索它之后,我得到的结果是:

5b0cd65710052633dc5dcac406a382c4212asaddgcvjh622sdsds22113554dfd5sd5weea55rr6qasfdjkloijhj665s6a

【问题讨论】:

  • 你能提供一个file_name的内容在操作之前的例子吗?
  • 我正在上传文件,我在上传成功时使用它:'onUploadSuccess' : function(data, file, response) {file = JSON.parse(file);var file_name = file.file_name;,文件名类似于:file_name = 5b0cd65710052633dc5dcac406a382c4.jpg
  • 我编辑了我的评论。有帮助吗?!
  • 我已经更新了我的答案以支持两种处理问题的方法。
  • file_name中似乎没有/字符,也没有\ns,而且文件名也只有一个……

标签: javascript jquery append textarea line-breaks


【解决方案1】:

要保留来自数据库或其他内容的换行符,请将换行符替换为换行的 HTML 实体:


base = base.replace("\n", '
');
$('#image_Basename').append(base);

如果您尝试在每个字符串末尾附加换行符,只需将其连接到字符串上:

$('#image_Basename').append(base + '
');

此外,您在 textarea jQuery 元素上使用了 split,这没有意义,因为它是 object 而不是 string

【讨论】:

  • 不幸的是,这不起作用!我将它存储到数据库中,检索它后,我得到了混合值
  • 是的,在使用$('#image_Basename').append(base + '
'); 之后,我终于可以得到我想要的了 :) 谢谢 :)
【解决方案2】:

我特别感谢@rink.attendant.6,他的第二种方法对我有用:) 答案是:

$('#image_Basename').append(base + '
');

添加后,我在单独的行中获得了所有文件基名!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-14
    • 2013-12-09
    • 2015-11-25
    • 2013-05-21
    • 1970-01-01
    • 1970-01-01
    • 2014-01-03
    • 1970-01-01
    相关资源
    最近更新 更多