在Firefox中输入按钮问题

时间:2013-07-02 09:24:49

标签: javascript events firefox onchange onkeydown

我有一个只接受数字的文本字段。当用户键入任何字符并移出textfield时, 使用onchange我正在检查用户是否输入了数字或字符。因此,当用户按Tab键时,使用onchange检查值。 当用户按下Enter按钮时,它被设置为window.event.keycode =9;,因为IE支持此功能。要使其在其他浏览器中工作, 每当用户按下回车按钮时,我都会编写逻辑来移动焦点。

我面临的问题是在Firefox中,当用户按下文本字段中的输入按钮时,现在调用onchange以及调用onsubmit,这使我的页面再次刷新。 我写的将焦点转移到下一个项目的逻辑也在起作用。但我不知道为什么,onchangeonsubmit被调用。 这个项目由大量代码组成,这就是为什么我无法发布一段代码。 知道它为什么会这样工作吗?

2 个答案:

答案 0 :(得分:0)

某些浏览器具有全局事件对象,其他浏览器将事件对象作为参数发送到事件处理程序。 Chrome和Internet Exlporer使用前者,Firefox使用后者。

有些浏览器使用keyCode,其他浏览器使用charCode。

输入密钥代码为13

答案 1 :(得分:0)

    function Numberonly() {

                var reg = /^((\d{1,8}(\.\d{0,5})?%)|(\d{1,8}(\.\d{0,5})?))$/;

                if (!reg.test(($("#txtunitId").val()))) {
                    $("#txtunitId").val('');
                    return false;
                }
            }


 <input type="text" id="txtunitId" style="float: left;" onkeyup="Numberonly();" />

jsfiddle.net/hQ86t/20