2016-12-13 7 views
0

2つの異なるインスタンスで同じPHPページに表示される 'Loader' gifを取得しようとしています。フォームの送信に 同じPHPページで2つのイベントを処理する2つのローダーgif

  • その他

    1. 1ページのロード。

    スクリプトは次のようになります。対応<div>/<img>

    <script type="text/javascript"> 
        //on form submit 
        $(document).ready(function() { 
         $('#myform').submit(function (e) { 
          $('#loaderImage').show(); 
          return true; 
          e.preventDefault(); 
         }); 
        }); 
    
        // on page load 
        $(window).load(function() { 
         $(".DivImage").fadeOut(); 
        }); 
    </script> 
    

    は次のようになります。

    <div class="DivImage"><img src="loader.gif" style="height:30px; width:auto;" alt=""><br>Loading...</div> 
    
    <img src="loader.gif" alt="loader2" style="display:none; height:20px; width:auto;" id="loaderImage"> 
    

    は残念ながらe.preventDefault();は、私はまた、フォームの送信に表示、ページの読み込み「ローダー」を参照して、このインスタンスで動作しているようですしません。

    回避策はありますか?私はこのようなスニペットを編集しましたコメントを

    EDIT

    は、しかし、問題は未解決のまま。

    <script type="text/javascript"> 
        //on form submit 
        $(document).ready(function() { 
         $('#myform').submit(function (e) { 
          $('#loaderImage').show(); 
          e.preventDefault(); 
         }); 
        }); 
    
        // on page load 
        $(window).load(function() { 
         $(".DivImage").fadeOut(); 
        }); 
    </script> 
    
  • +0

    preventDefaultを設定する前にtrueを返すので、*** e.preventDefault()***は決して呼び出されません。 – Esko

    +0

    フォーム送信イベント

    +0

    @Esko' e.preventDefault'を削除してチェックしました。今私が見る動作は、PHPページの送信ボタンが機能しないため、ページの検証が行われないということです。 –

    答えて

    0

    あなたはリターン後に何を書いている場合は、それがすべてで呼び出していないことを意味します。あなたのケースではe.preventDefault()の後に返信を呼び出しているので、呼び出していません。

    +0

    ありがとう@Manoj上記の私の質問を編集しました。しかし、問題は 'preventDefault'がphpボタンの送信時にphpフォームの検証を妨げているので、フォームの検証が止まることです。あなたは私のためのヒントを持っていますか? –

    +0

    あなたの場合は、pageLoad imgの場合と同じように、divで#loaderImage imgタグを折り返してみてください。そして、ラッピングdivに従って可視性を管理します。それがあなたを助けるかもしれない。次に、私はあなたがe.preventDefault()を使用する必要はないと思う –

    関連する問題