56

我将变量作为连接字符串发送到文本框,因此我可以在 getElementById 调用中包含多个变量。

我需要指定一个换行符,以便正确格式化地址。

document.getElementById("address_box").value = 
(title + address + address2 + address3 + address4);

我已经在换行符和变量之后尝试了 \n 。并尝试将连接运算符更改为 +=。

已修复:此问题已通过以下方式解决;

document.getElementById("address_box").value = 
(title + "\n" + address + "\n" + address2 + "\n" +  address3 +  "\n" + address4);

并将文本框从“输入类型”更改为“文本区域”

4

5 回答 5

59

你不能在一个文本框中有多行,你需要一个文本区域。然后它\n在值之间起作用。

于 2013-03-12T09:50:05.497 回答
24
document.getElementById("address_box").value = 
(title + "\n" + address + "\n" + address2 + "\n" + address3 + "\n" + address4);
于 2013-03-12T09:47:51.280 回答
10

您需要使用\n内引号。

document.getElementById("address_box").value = (title + "\n" + address + "\n" + address2 + "\n" + address3 + "\n" + address4)

\n被称为EOLline-break\n是一个常见的EOL标记,通常被称为LFline-feed,它是一个特殊ASCII字符

于 2013-03-12T09:48:44.550 回答
5

使用反引号

反引号通常用于多行字符串,或者当您想要在字符串中插入表达式时

let title = 'John';
let address = 'address';
let address2 = 'address2222';
let address3 = 'address33333';
let address4 = 'address44444';
document.getElementById("address_box").innerText = `${title} 
${address}
${address2}
${address3} 
${address4}`;
<div id="address_box">
</div>

于 2020-01-13T08:52:51.727 回答
-1

这是一个有趣的方式来回答你的问题。下面将获取一个字符串列表,对其进行排序,然后r用逗号和空格添加值。每三个值都会增加一个换行符。

let r="";
["red", "blue", "Blue", "green"].sort().forEach((e, i) => {
   r += e + ", "
   if (i % 3 == 2) 
      r += "\n";
});
console.log(r);
于 2021-08-23T13:24:10.307 回答