我正在做,每个人在论坛上都做了什么,但是出了点问题,我无法使用初始代码在mozilla firefox上验证我的表单,它可以在任何浏览器上正常运行,但不能在mozilla上运行,初始代码是:
function ValidateOnlyText() {
if ((event.keyCode != 32) && (event.keyCode < 65)
|| (event.keyCode > 90) && (event.keyCode < 97)
|| (event.keyCode > 122))
{alert("only text");
event.returnValue = false;
}
每当用户使用onkeypress的示例在输入上写入内容时,就会执行该函数:
<input class="inputShort" name="lastname" type="text" id="lastname" onkeypress="ValidateOnlyText()"/>
因此,在搜索中,我发现有很多人可以在firefox上更正此问题,并且我对其进行了测试(其他浏览器的keyCode),而对于Firefox,则在javascript代码上进行了测试:
function ValidaSoloTextos(e) {
var key=document.all?e.keyCode:e.which;
if ((key!=32)&&(key<65)||(key>90)&&(key<97)||(key>122)){
alert("solo texto");
return false;
}
}
并在输入上添加以下内容:
onkeypress="ValidaSoloTextos(this.value)"
那有什么问题?我将进行更多搜索,如果我发现了一些新问题,请更新。
最佳答案
您需要将事件传递给函数:
<input class="inputShort" name="lastname" type="text" id="lastname" onkeypress="ValidateOnlyText(event)"/>
因此将
this.value
更改为event
另外,我会将
document.all
更改为e.keyCode
,这更有意义。在
return
之前添加ValidateOnlyText(event)
以阻止键入不需要的字符。这也可能对您有用:
Allow only numbers to be typed in a textbox