返回false在Firefox中不起作用

时间:2013-04-15 06:01:47

标签: javascript firefox

嘿伙计们我试图从我的javascript方法返回false。它在chrome中工作正常但是当同样的事情在firefox中出现时,它被重定向到apage并显示错误的字符串。

以下是我的代码

    if(emptyCheck(form.corpId.value)){
        alert("Please select Corporate of the traveler");
        form.corpId.focus();
        return false;
    }

2 个答案:

答案 0 :(得分:1)

在名为eventevt的事件处理程序中创建一个参数,或者其他任何内容。

点击preventDefault()

document.getElementById('element').addEventListener('click', function(event) {
    alert('this works');
    evt.preventDefault();
}, false);

仅在您附加如下事件时才返回false

document.getElementById('element').onclick = function() {
    alert('this works');
    return false;
};

前段时间我在stackoverflow上学到了这个,我会找到你原来的帖子。

另一件事是:如果javascript抛出异常,它将通过返回false落下,因此浏览器将执行默认行为。就像点击一个灵将导航到该位置。

打开javascript控制台并检查是否有任何异常抛出!

编辑:以下是Tim Down的原帖:Returning false from click handler doesn't work in Firefox

答案 1 :(得分:1)

你可以试试这个;

if(emptyCheck(form.corpId.value)){
    alert("Please select Corporate of the traveler");
    form.corpId.focus();
    throw("exeption message");
}

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/throw