1

このようなjQueryを使用してボタンがクリックされたときにフォームを送信した後、フォームがあります。

function validate(){
   if($('#firstname').val() =="")
           alert("Please enter your first name");
   else if($('#lastname').val() == "")
    alert("Please enter your last name");
   else if( $('#association').val() == "")
    alert("Choose your association");
   else if($('#association_no').val() == "")
    alert("Please enter your association number");
   else
    $('#register').submit();
  }


  $(function(){


       $(".enter_submit").keyup(function(event) {
        if(event.keyCode === 13) 
        validate();

      })

  })

アラートボックスは正常に表示されていますが、アラートボックスが表示された後にEnterキーを押すと、アラートを取り除く代わりに別のアラートボックスが表示されるという問題があります(マウスで[OK]をクリックすると正常に動作します)。FF では、このページからの警告を #防ぐことができます。そのため、アラートが表示された後でもフォームに焦点を合わせていると思います。

4

2 に答える 2

0

アラート ボックスが表示されたら、return False を指定します。これにより、同時に他のアラート ボックスが表示されない場合があります。

function validate() {
            if ($('#firstname').val() == "") {
                alert("Please enter your first name");
                return false;
            }
            else if ($('#lastname').val() == "") {
                alert("Please enter your last name");
                return false;
            }
            else if ($('#association').val() == "") {
                alert("Choose your association");
                return false;
            }
            else if ($('#association_no').val() == "") {
                alert("Please enter your association number");
                return false;
            }
            else {
                $('#register').submit();
                return true;
            }
        }


        $(function () {
            $(".enter_submit").keyup(function (event) {
                if (event.keyCode === 13)
                    return validate();
            });
        });

この助けを願っています

ありがとうプラシャント

于 2013-05-04T11:57:55.893 に答える
0

ぼかし機能を使用してこれを修正しました

  $(".enter_submit").keyup(function(event) {
        $(this).blur();
         if(event.keyCode === 13) 
        return validate();

      })

アラートが表示されていても、テキスト フィールドにはまだフォーカスがあると考えたので、フォーカスを外さなければなりませんでした。返信してくれたみんなに感謝します。

于 2013-05-04T14:47:45.543 に答える