gpt4 book ai didi

javascript - 复选框状态改变 onkeypress

转载 作者:行者123 更新时间:2023-11-29 20:14:24 24 4
gpt4 key购买 nike

如果未选中复选框,我将使用 JavaScript 禁用键盘,如果选中复选框,则仅启用数字。

我的代码是。

    <script type="text/javascript">
function isNumberKey(evt)
{
if(document.getElementById("check1").checked=false)
{
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode > 31 && (charCode < 48 || charCode > 57))
return false;
return true;
}
else
{
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode > 1 && charCode < 127)
return false;
return true;
}
}
</script>

HTML代码

<asp:CheckBox ID="check1" runat="server"/>
<asp:TextBox ID="tbxt1" runat="server" MaxLength="6" Width="200" onkeypress="return isNumberKey(event);" TextMode="Password" autocomplete="off" />

默认情况下,复选框未选中,因此 JavaScript 不允许我使用键盘。这可以。当我将复选框状态更改为已选中并尝试按一个键时。 OnKeyPress 事件复选框状态更改为未选中。我的代码有什么问题吗?

最佳答案

您的代码中有错误,您需要双等式 == 来检查 javascript 中的相等性。

像这样:

if(document.getElementById("check1").checked==false)

此外,如果您没有将所有条件内容都包含在一对大括号中,即使只有一行,也可能会让其他人在阅读您的代码时感到非常困惑。

所以我将它稍微重构成这样(只是为了清楚起见,我并没有真正改变任何东西):

  <script type="text/javascript">
function isNumberKey(evt)
{
if(document.getElementById("check1").checked==false)
{
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode > 31 && (charCode < 48 || charCode > 57))
{
return false;
}
else
{
return true;
}
}
else
{
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode > 1 && charCode < 127)
{
return false;
}
else
{
return true;
}
}
}
</script>

关于javascript - 复选框状态改变 onkeypress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7790300/

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