在JavaScript中将逗号替换为斜杠
replacing commas with slashes in JavaScript
本文关键字:替换 JavaScript 更新时间:2023-09-26
我正在尝试用JavaScript中的/
替换,
,并编写了以下代码。表单中有多个文本框可用。我想编写一个函数,并在所有文本字段上调用它们。
我遇到的问题是,我无法将当前ID发送到JavaScript方法。这是如何正确完成的?
function removeComma(val) {
var values = document.getElementById('val').value; //Object Required Error
var n=values.replace(/,/, "/");
document.getElementById('val').value=n;
}
<input type="text" id="one" name="one" onkeypress="removeComma(this)">
<input type="text" id="two" name="two" onkeypress="removeComma(this)">
<input type="text" id="three" name="three" onkeypress="removeComma(this)">
我从上面的代码中得到的错误是第一行的OBJECT REQUIRED
。
您正在将单击的元素传递给函数,因此根本不需要document.getElementById()
。这解决了您的问题。
function removeComma(val) {
var values = val.value;
var n=values.replace(/,/g, "/");
val.value=n;
}
还请注意,onkeypress
在更改input
元素的值之前被触发。如果要使用input
的上次更新值,可以使用onkeyup
,更确切地说是oninput
。
如果你真的必须使用元素的id
,你需要在参数中传递它:
<input type="text" id="one" name="one" onkeypress="removeComma(this.id)">
然后删除val
:周围的引号
var values = document.getElementById(val).value;
应该是…
document.getElementById(val).value
相反,因为您可能会分别为每个输入文本框调用此函数,将它们的id作为params发送到函数中。
更新:。。。您的编辑清楚地表明事实并非如此:您正在将元素本身传递到一个函数中。这很好,但你不必用document.getElementById
来照顾这个元素——你已经有了它
不过,这里还有另一个问题:如果需要替换所有逗号,则需要在正则表达式中添加/g
修饰符。否则,不会替换多个逗号(例如,通过复制粘贴添加的逗号)。
总的来说,我会这样重写:
function removeComma(el) {
el.value = el.value.replace(/,/g, '/');
}
这是一把小提琴(这是它的叉子与输入处理程序一起工作——在我看来,后者更流畅)。
document.getElementById('val')
应该是
document.getElementById('one')
如果您进行了此更改,则无需将其发送到removeComma。
如果您保持此,则使用以下功能
function removeComma(val) {
var values = val.value;
var n=values.replace(/,/, "/");
val.value=n;
}
相关文章:
- 如何替换JavaScript字符串中除字母和数字之外的所有内容(空格/符号)
- 用Javascript按钮替换Javascript超链接
- Firebase推送;t添加但替换(JavaScript)
- 如何替换javascript字符串中的前三个连字符
- 用jquery替换javascript语法
- jQuery.html()赢得't替换javascript图表
- 如何替换javascript canas
- 替换 JavaScript 中的一些字符串
- 替换Javascript中包含星号的字符串
- 随机替换 JavaScript 或 jQuery 中文本块中的子字符串
- 替换 JavaScript 中出现的所有字符串不起作用
- 为什么不能使用 document.getElementById 来替换 JavaScript 中的 $
- 合并/替换Javascript数组
- 无法替换Javascript中对象数组的键
- 可以用两个搜索值替换JavaScript.replacement函数
- 字符串替换javascript
- 正则表达式:替换javascript中的字符串
- 替换javascript中拆分后的值
- regex替换javascript返回整个值
- 用正则表达式替换javascript