javascript -
检查textarea 中是否有中断标签 ( )
问题描述
当有人在表单中输入他们的地址并在不破坏地址的情况下提交时,我已经寻找了一种解决方案(新西兰墨尔本)。然后我找到了一个非常简单的 JavaScript 解决方案来搜索“,”并打破这一行。
function divide() {
var txt;
txt = document.getElementById('address').value;
var text = txt.split(",");
var str = text.join(',</br>');
document.getElementById("address").value = str;
}
但是即使有中断,这段代码也会中断(当用户想稍后更新输入的详细信息时),这段代码会中断两次,因为它没有任何 if 条件来检查是否有中断标记。我想知道是否有创建中断标记的方法以及如何将其包含在此代码中。我尝试了很多事情,但找不到解决方案。顺便说一句,我是 JavaScript 新手。
非常感谢您的关心。谢谢你。
解决方案
如果您需要将逗号替换为 a 中的换行符<textarea>
,请将逗号替换为\n
字符。<br>
引入元素是没有意义的。
const divide = (address) =>
address.value = address.value.replace(/\s*,\s*/g, '\n');
document.querySelectorAll('.address').forEach(divide);
<textarea class="address" rows="3" cols="72">foo,bar</textarea>
<textarea class="address" rows="3" cols="72">foo
bar</textarea>
以下是设置已保存文本的示例:
const savedText = 'foo\nbar';
const breakText = text => text.replace(/\n/g, '<br>');
document.querySelector('.address').value = savedText;
document.querySelector('.address-css').textContent = savedText;
document.querySelector('.address-replace').innerHTML = breakText(savedText);
.address-css {
white-space: pre;
}
div[class^="address-"] {
border: thin solid grey;
margin: 0.5em 0;
}
<textarea class="address" rows="3" cols="72">foo,bar</textarea>
<div class="address-css"></div>
<div class="address-replace"></div>
推荐阅读
- excel - 从字典中获取信息并将其设置在 excel-vba 的单元格中
- batch-file - 如何设置批处理文件 .txt 输出保存位置
- automation - 使用 mqtt 回调中的数据创建 IF 语句的正确方法
- python - 如何递归地将矩形打包成正方形
- javascript - 如何使用 Javascript 调用 CSS 动画
- javascript - 检查 document.getElementById 是否不存在?
- netlify - Netlify 上的鹈鹕网站
- facebook - 使用 facebook 营销 api 创建与 instagram 帖子相关的广告
- android - Scrollview vs Recyclerview vs Viewpager vs Coordinator layout
- c# - Unity C# Char 级别系统多场景