Onchange不是't工作,但javascript脚本很好

Onchange isn't working but the javascript script is fine

本文关键字:javascript 脚本 很好 工作 不是 Onchange      更新时间:2023-09-26

这是我的HTML:

<html>
<head>
<script>
function ppid() {
    var ppidtxt = document.getElementById('ppid').value;
    var newppidtxt = ppidtxt.toUpperCase();
    var ppide = document.getElementById('ppid');
    ppide.value = newppidtxt;
}
</script>
</head>
<body>
<form>
  <center><input type="text" id="ppid" class="form-control" name="ppid" placeholder="Personal Project ID" onchange="ppid();" /></center>
</form>
</body>
</html>

我在本地电脑上尝试过这是JSFiddle,几乎在任何地方都有,但出于某种原因,每当我在表单的文本框中键入id为"ppid"的内容时,它都不会大写。我做错了什么?

尝试使用onkeyup,例如

<input type="text" onkeyup="this.value=this.value.toUpperCase()" />

我不知道为什么会发生这种情况,但当调用onchange时,"ppid"包含HTMLInputElement(可能是因为它的id)。

如果您将函数重命名为唯一的(如"myFunc"),它就可以工作。

@MelaniaUK通过这个链接给出了答案:为什么JS函数名与元素ID冲突?