1. ホーム
  2. jquery

[解決済み] JQueryの使用 - フォームが送信されないようにする

2022-02-08 03:44:23

質問

jqueryを使ってフォームが送信されないようにするにはどうしたらいいですか?

以下の3つのオプションを試してみましたが、すべてうまくいきません。

    $(document).ready(function() { 

            //option A
            $("#form").submit(function(e){
                e.preventDefault();
            });

            //option B
            $("#form").submit(function(e){
                stopEvent(e);
            });

            //option C
            $("#form").submit(function(){
                return false;
            });
    });

何が問題なのでしょうか?

更新 - これが私のhtmlです。

    <form id="form" class="form" action="page2.php" method="post"> 
       <!-- tags in the form -->
       <p class="class2">
           <input type="submit" value="Okay!" /> 
       </p>
    </form>

何か問題があるのでしょうか?

解決方法は?

目立つのは2点。

  • もしかしたら、フォーム名が form . むしろ を削除してください。
  • また e.preventDefault は正しいJQueryの構文で、例えば次のようになります。

        //option A
        $("form").submit(function(e){
            e.preventDefault();
        });
    
    

オプションCも動作するはずです。オプションBはよくわかりません。

完全な例です。

<html>
    <head>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

        <script type='text/javascript'>
         $(document).ready(function() {
            //option A
            $("form").submit(function(e){
                alert('submit intercepted');
                e.preventDefault(e);
            });
        });
        </script>
    </head>

    <body>
        <form action="http://google.com" method="GET">
          Search <input type='text' name='q' />
          <input type='submit'/>
        </form>
    </body>
</html>