作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果未选中复选框,我将使用 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/
我是一名优秀的程序员,十分优秀!