我想在文本区添加换行符。我尝试了\n和<br/>标签,但不工作。你可以看到上面的HTML代码。你能帮我在文本区插入换行符吗?
<textarea cols='60' rows='8'>This is my statement one.\n This is my statement2</textarea>
<textarea cols='60' rows='8'>This is my statement one.<br/> This is my statement2</textarea>
我想在文本区添加换行符。我尝试了\n和<br/>标签,但不工作。你可以看到上面的HTML代码。你能帮我在文本区插入换行符吗?
<textarea cols='60' rows='8'>This is my statement one.\n This is my statement2</textarea>
<textarea cols='60' rows='8'>This is my statement one.<br/> This is my statement2</textarea>
当前回答
如果你使用react
函数内部
const handleChange=(e)=>{
const name = e.target.name;
let value = e.target.value;
value = value.split('\n').map(str => <span>{str}<br/></span>);
SetFileds({ ...fileds, [name]: value });
}
其他回答
你还应该检查元素的css空白属性(mdn docs),确保它被设置为一个不抑制换行的值,例如:
white-space: pre-line;
你会对这3个值感兴趣:
精准医疗 保留了空白的序列。线路只有在 源和<br>元素中的换行符。 pre-wrap 保留了空白的序列。线路断在 换行符,在<br>处,以及必要时填充行框。 行前空白序列被折叠。线路断在 换行符,在<br>处,以及必要时填充行框。
经过大量的测试,下面的代码在typescript中为我工作
export function ReplaceNewline(input: string) {
var newline = String.fromCharCode(13, 10);
return ReplaceAll(input, "<br>", newline.toString());
}
export function ReplaceAll(str, find, replace) {
return str.replace(new RegExp(find, 'g'), replace);
}
试试这个:
这是我的语句1。这是我的语句2</textarea>
& # 10;换行和 回车都是HTML实体。通过这种方式,您实际上是在解析新行(“\n”),而不是将其显示为文本。
试试这个。工作原理:
<textarea id="test" cols='60' rows='8'>This is my statement one. This is my statement2</textarea>
替换<br>标签:
$("textarea#test").val(replace($("textarea#test").val(), "<br>", " ")));
<textarea cols='60' rows='8'>This is my statement one.
This is my statement2</textarea>
提琴显示它的工作:http://jsfiddle.net/trott/5vu28/。
如果你真的想让它在源文件中的单行上,你可以插入HTML字符引用,用于换行和回车,如@Bakudan的回答所示:
这是我的语句1。这是我的语句2</textarea>