gpt4 book ai didi

JavaScript 难题

转载 作者:行者123 更新时间:2023-11-30 08:12:44 26 4
gpt4 key购买 nike

我想将 JavaScript 函数移动到 <script>来自输入标签的标签,但它不起作用。

这个有效:

<input type="text" name="aaa" id="aaa" onkeyup="javascript:this.value=
this.value.substring(0,1).toUpperCase()+
this.value.substring(1,this.value.length);
if (this.value=='')
document.getElementById('aaaLabel').innerHTML='AAA';"
/>

这不是:

<script type="text/javascript">
function FieldOnKeyUp() {
this.value=this.value.substring(0,1).toUpperCase()+
this.value.substring(1,this.value.length);
if (this.value=='')
document.getElementById('aaaLabel').innerHTML='AAA';
}
</script>

<input type="text" name="aaa" id="aaa" onkeyup="FieldOnKeyUp()">

有什么区别?

最佳答案

this 的值不会传递给您的单独函数。实际上,您的函数中的 this 被设置为 window 对象。您需要更改为此类代码,以便将正确的值传递给您的函数:

<input type="text" name="aaa" id="aaa" onkeyup="FieldOnKeyUp(this)">

和你的代码:

<script type="text/javascript">
function FieldOnKeyUp(el) {
el.value=el.value.substring(0,1).toUpperCase()+el.value.substring(1);
if (el.value=='') {
document.getElementById('aaaLabel').innerHTML='AAA';
}
}
</script>

这是一个显示此代码有效的示例:http://jsfiddle.net/jfriend00/2dJ6x/ .

关于JavaScript 难题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8045902/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com