【问题标题】:can't validate on mozilla firefox无法在 Mozilla firefox 上验证
【发布时间】:2014-05-09 16:22:28
【问题描述】:

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

这有什么问题?我会去搜索更多,如果我找到了我会更新帖子,谢谢大家

【问题讨论】:

  • 我只是在想,那不是this.value,我认为是'e'

标签: javascript html forms validation firefox


【解决方案1】:

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

<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

【讨论】:

  • 好的,我改了,但是mozilla还是不行,在其他浏览器上运行正常
猜你喜欢
  • 2018-10-27
  • 1970-01-01
  • 1970-01-01
  • 2016-11-17
  • 2012-11-17
  • 1970-01-01
  • 1970-01-01
  • 2017-09-25
相关资源
最近更新 更多