javascript - 无法在 mozilla firefox 上验证

标签 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)"

这有什么问题吗?我将进行更多搜索,如果找到一些内容,我会更新帖子,谢谢大家

最佳答案

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

<input class="inputShort" name="lastname" type="text" id="lastname" onkeypress="ValidateOnlyText(event)"/>

因此将 this.value 更改为 event

此外,我会将 document.all 更改为 e.keyCode,这样更有意义。

ValidateOnlyText(event) 之前添加 return 以阻止输入不需要的字符。

这可能对您也有用:
Allow only numbers to be typed in a textbox

关于javascript - 无法在 mozilla firefox 上验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23559531/

相关文章:

javascript - 使用 jQuery 将 div 滑入滑出

c# - 如何在服务器标记的 aspx 文件中调用代码隐藏函数

javascript - 如何创建带有/视频背景的 HTML5 着陆页

javascript - Backbone js。如何在backbone js中将数据从 View 传递到模板

php - jQuery 响应保存为 PHP 变量

javascript - 多个 Switch 组件在按下时更改列表元素中的顺序

javascript - ng-binding,在 html 中调用时 $scope 变量为空

javascript - 我可以选择一种类型的所有反应组件,而不为每个组件分配一个类吗?

jQuery 表单验证插件 : Requiring e-mails to be . EDU 地址

javascript - 从动态创建的 html 表单按钮调用 Javascript 函数