1

试图取消发送空表单。感到困惑,因为似乎没有理由为什么这不起作用。使用 firefox 作为我的浏览器。

任何人都可以解释为什么此代码不会取消正在发送的表单,但它会触发警报对话框。

addEvent(searchForm, "onsubmit", function(){
    if(inputBox.value.trim() === ""){
        alert("empty"); //this line gets called
        return false;   //this doesn't 
    }
});

非常感谢

这是 addEvent 函数

function addEvent(element, listener, func){   

    if(element.addEventListener){

        listener = listener.substr(2, listener.length);
       element.addEventListener(listener, func);

    } else {

        element.attachListener(listener, func);

}

}
4

2 回答 2

1

你的处理程序应该是

function(e){
  if(inputBox.value.trim() == ""){
   alert('empty');
   e.preventDefault();
  }
}

通常,无论使用何种框架,处理程序都支持将事件本身作为参数传递。

于 2013-08-03T19:07:05.333 回答
1

addEvent 不是原生 javascript 函数。

改用这个..

    searchForm.onsubmit =  function(e){
        if(inputBox.value.trim() === ""){
             alert("empty");
             e.preventDefault();
             return false;
        }
    }
于 2013-08-03T19:10:24.547 回答