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,您需要将它们设为 &lt;br /&gt; 请注意这是dependent on environment。 【参考方案1】:

您返回的字符串可能包含换行符\n。为了让它们在 HTML 中完整地显示换行符,您可以将使用 &lt;pre&gt;&lt;/pre&gt; 返回的所有内容包装在 HTML 中。或者在换行符\n 上拆分并替换为&lt;br /&gt;

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

【讨论】:

请注意这是dependent on environment。 幸运的是,在这种情况下,细微的差异不会产生任何影响。 (\r\n\n【参考方案2】:

text.replace(/\n/g,'&lt;br&gt;');

这一行将用&lt;br /&gt;替换所有行

【讨论】:

【参考方案3】:

您的条形码阅读器正在读取带有 \n 换行符的 vCard,但是此换行符被忽略的纯 html。

在 Javascript 中你可以使用类似的东西

someText.replace("\n", "<br>");

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

【讨论】:

以上是关于Javascript - 在文本区域中中断但不在段落中的主要内容,如果未能解决你的问题,请参考以下文章

使用Javascript在文本区域中的光标处插入文本

让用户选择在文本区域中显示多少行 [HTML] [JAVASCRIPT?]

在文本区域中写入文本

在文本区域中获取行号[重复]

在文本区域中添加带有热键和javascript的文本

占位符文本未出现在文本区域中