无法在mozilla firefox上验证

时间:2014-05-09 08:03:35

标签: javascript html forms validation firefox

我正在做,每个人都在论坛上做了什么,但出了点问题,我无法使用我的初始代码在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)"

那有什么问题?我要去搜索更多,如果我发现了一些内容,我会更新帖子,谢谢所有

1 个答案:

答案 0 :(得分:1)

您需要将事件传递给您的函数:

<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