Javascript - 在textarea中断,但不在段落中

时间:2015-04-08 15:10:29

标签: javascript qr-code line-breaks vcard

我有一个问题:

我有一个QR码扫描仪,它获得了一个VCard。我得到以下字符串: BEGIN:VCARD VERSION:2.1 FN:John Doe N:doe; john END:VCARD

问题如下:将此信息(通过Javascript)放入textarea或将其转储到警报窗口时,信息之间会中断,如下所示:

BEGIN:VCARD
版本:2.1
FN:John Doe


点。

但是当把这些信息放入段落(<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('#');这样的东西,如果它确实是休息或者它只是不起作用,但是这不起作用,所以文本似乎没有其中\n ..

编辑2

它现在正在工作,我需要一步完成这两个步骤,所以不是

var wert = $.scriptcam.getBarCode();
wert.split('\n').join('<br/>'); 

但是

var wert = ($.scriptcam.getBarCode()).split('\n').join('<br/>');

感谢您的帮助!

3 个答案:

答案 0 :(得分:2)

您获得的字符串可能包含换行符\n。要使它们在HTML中完整显示新行,您可以在HTML中包装带有<pre></pre>的所有内容。或者在换行符\n上拆分,并将其替换为<br />

text.split('\n').join('<br />')

答案 1 :(得分:1)

text.replace(/\n/g,'<br>');

此行将使用<br />

替换所有行

答案 2 :(得分:0)

您的条形码阅读器正在使用\ n换行读取vCard,但纯html会忽略此换行符。

在Javascript中你可以使用像

这样的东西
someText.replace("\n", "<br>");

它会做你想要的。在php中它的nl2br函数