Javascript 更改按键状态的复选框
如果复选框未选中,我将使用JavaScript禁用键盘,如果复选框已选中,则仅启用数字 我的密码是Javascript 更改按键状态的复选框,javascript,Javascript,如果复选框未选中,我将使用JavaScript禁用键盘,如果复选框已选中,则仅启用数字 我的密码是 <script type="text/javascript"> function isNumberKey(evt) { if(document.getElementById("check1").checked=false) { var charCode = (evt.which) ? evt.which : event.
<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>
函数isNumberKey(evt)
{
if(document.getElementById(“check1”).checked=false)
{
var charCode=(evt.which)?evt.which:event.keyCode
如果(字符码>31&(字符码<48 | |字符码>57))
返回false;
返回true;
}
其他的
{
var charCode=(evt.which)?evt.which:event.keyCode
if(字符码>1&&charCode<127)
返回false;
返回true;
}
}
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" />
默认情况下,as复选框未选中,因此JavaScript不允许我使用键盘。这很好。当我将复选框状态更改为选中并尝试按键时。OnKeyPress事件复选框状态更改为未选中。我的代码中有什么错误吗?如果代码中有错误,则需要双Equalas
==
来检查javascript中的相等性
像这样:
if(document.getElementById(“check1”).checked==false)
此外,如果没有在一对大括号中包含所有条件内容,即使是单行代码,其他人阅读代码时也会感到非常困惑
因此,我会将它稍微重构成这样(为了清楚起见,我没有真正改变任何东西):
函数isNumberKey(evt)
{
if(document.getElementById(“check1”).checked==false)
{
var charCode=(evt.which)?evt.which:event.keyCode
如果(字符码>31&(字符码<48 | |字符码>57))
{
返回false;
}
其他的
{
返回true;
}
}
其他的
{
var charCode=(evt.which)?evt.which:event.keyCode
if(字符码>1&&charCode<127)
{
返回false;
}
其他的
{
返回true;
}
}
}
在中。checked=false
您正在分配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>