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 に答える