将文本附加到带有换行符的文本区域
Posted
技术标签:
【中文标题】将文本附加到带有换行符的文本区域【英文标题】: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
中似乎没有/
字符,也没有\n
s,而且文件名也只有一个……
【参考方案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 + '
');
添加后,我在单独的行中获得了所有文件基名!
【讨论】:
以上是关于将文本附加到带有换行符的文本区域的主要内容,如果未能解决你的问题,请参考以下文章