0

嘿伙计们,我正在尝试从我的 javascript 方法返回 false。它在 chrome 中运行良好,但是当在 firefox 中执行相同的操作时,它被重定向到显示错误字符串的页面。

下面是我的代码

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

2 回答 2

1

在事件处理程序中创建一个名为eventorevt或其他的参数。

调用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 抛出异常,它将通过 return false,因此浏览器将执行默认行为。就像单击 ling 将导航到该位置一样。

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

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

于 2013-04-15T06:06:21.010 回答
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

于 2015-11-25T12:55:25.453 回答