Javascript - 在文本区域中中断但不在段落中
Posted
技术标签:
【中文标题】Javascript - 在文本区域中中断但不在段落中【英文标题】:Javascript - break in textarea but not in paragraph 【发布时间】:2015-06-13 15:23:02 【问题描述】:我有一个问题:
我有一个 QR 码扫描仪,它可以获取 VCard。我得到以下字符串: BEGIN:VCARD 版本:2.1 FN:John Doe N:doe;john END:VCARD
问题如下:当将此信息(通过 javascript)放入文本区域或将其转储到警报窗口时,信息之间会出现中断,如下所示:
开始:VCARD 版本:2.1 FN:约翰·多伊 . . .
但是当将此信息放入段落 (<p></p>
) 时,它没有中断,它只是一个普通字符串。
现在的问题是,我可以将这些中断也放入段落中,还是可以在属性之间插入另一个符号或其他任何东西?
我曾想过将字符串拆分为空白,但它不起作用,因为例如FN
本身也包含空格...
感谢您的帮助。
编辑: 不幸的是,所有 3 条建议都不起作用..
我现在拥有的如下:
function writeqrcodecontent()
var textfeld = document.getElementById("inhaltvonqrcode");
var wert = $.scriptcam.getBarCode();
//wert.split('\n').join('<br/>');
//wert.replace("\n", "<br>");
//wert.replace(/\n/g,'<br>');
textfeld.innerhtml = wert;
textfeld.style.display="block";
但是如上所述,所有三个注释掉的行都不起作用,所有内容仍然显示在一行中。
段落定义为:
<p id="inhaltvonqrcode" style="display:none; clear:both;"></p
我理解你的想法,但我不明白为什么它不起作用......
顺便说一句,我也尝试过类似wert.split('\n').join('#');
看看,如果它真的是休息或它只是不起作用,但这也不起作用,所以文本似乎没有@987654327 @在里面..
编辑 2
现在可以了,我需要一步完成这两个步骤,所以不是
var wert = $.scriptcam.getBarCode();
wert.split('\n').join('<br/>');
但是
var wert = ($.scriptcam.getBarCode()).split('\n').join('<br/>');
感谢您的帮助!
【问题讨论】:
textarea 可能正在使用\n
换行。对于 HTML,您需要将它们设为 <br />
。
请注意这是dependent on environment。
【参考方案1】:
您返回的字符串可能包含换行符\n
。为了让它们在 HTML 中完整地显示换行符,您可以将使用 <pre></pre>
返回的所有内容包装在 HTML 中。或者在换行符\n
上拆分并替换为<br />
。
text.split('\n').join('<br />')
【讨论】:
请注意这是dependent on environment。 幸运的是,在这种情况下,细微的差异不会产生任何影响。 (\r\n
与 \n
)【参考方案2】:
text.replace(/\n/g,'<br>');
这一行将用<br />
替换所有行
【讨论】:
【参考方案3】:您的条形码阅读器正在读取带有 \n 换行符的 vCard,但是此换行符被忽略的纯 html。
在 Javascript 中你可以使用类似的东西
someText.replace("\n", "<br>");
它会做你想做的事。在 php 中它的 nl2br 函数
【讨论】:
以上是关于Javascript - 在文本区域中中断但不在段落中的主要内容,如果未能解决你的问题,请参考以下文章