1. ホーム
  2. javascript

[解決済み] Javascriptでイベントオブジェクトを関数に渡すには?

2023-08-15 08:20:09

質問

<button type="button" value="click me" onclick="check_me();" />

function check_me() {
  //event.preventDefault();
  var hello = document.myForm.username.value;
  var err = '';

  if(hello == '' || hello == null) {
    err = 'User name required';
  }

  if(err != '') { 
     alert(err); 
     $('username').focus(); 
     return false; 
   } else { 
    return true; }
}

Firefoxでは、空の値を送信しようとすると、エラーが表示され、要素にフォーカスが戻されます。しかし、IEでは、エラーを投げ、OKをクリックし、フォームを投稿した後(trueを返す)、同じことが起こりません。

どのように私はこれを避けることができますか?私は、これを避けるために event.preventDefault() を使って回避しようと思ったのですが、この方法を使うにはどうしたらいいのかわかりません。私は checkme(event) を渡してみましたが、うまくいきませんでした。Prototype jsを使用しています。

(Javascriptで.click関数をバインドするときにイベントを渡す方法を知っています。) 代わりに onclick を呼び出す代わりに、Javascriptで.click関数をバインドするときにイベントを渡す方法を知っています。)

どのように解決するのですか?

これが一般的な回答ですが、以下のtoto_ticoさんの回答がより適切です :)

onclick jsに'return'を使わせて、希望する戻り値が使われるようにする...。

<button type="button" value="click me" onclick="return check_me();" />