2017-04-02 2 views
-2

Ich benutze folgenden jQuery-Code, um die Schaltfläche zu starten Bootstrap-modal anzuzeigen. HINWEIS: Ich verwende den gleichen jQuery-Code, um das gleiche Modal auch auf einer anderen Seite auszulösen, und es funktioniert gut auf dieser Seite. und ich verwende nur bootstrap.js nicht bootstrap-modal.js, was könnte das mögliche Problem sein?Bootstrap Modal geht sofort nach dem Erscheinen

<script> 

$(function(ready){ 
    $(".paypal1_form").submit(function(event) { 
     console.log('here'); 
     $('button.modal2').click(); 
     setTimeout(function() { 
     return true; 
     event.preventDefault(); 
     }, 2000); 

    }); 
}); 
</script> 

Es folgt der Code für Bootstrap-modal

<button style="display:none;" type="button" class="btn btn-info btn-lg modal2" data-toggle="modal" data-target="#RedirectModal">Open Modal</button> 

    <div id="RedirectModal" class="modal fade" role="dialog"> 
     <div class="modal-dialog"> 

     <!-- Modal content--> 
     <div class="modal-content"> 
     <div class="modal-header"> 
      <p style="float:right;color:white;font-size:14px;margin-top:-12px;" class="close" data-dismiss="modal">X</p> 
      <!--<h4 class="modal-title">Modal Header</h4>--> 
      </div> 
      <div class="modal-body"> 
      <h3 style="color:white;">We are now redirecting you to Paypal...</h3> 

     </div> 
      <div class="modal-footer"> 
      <!--<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>--> 
      </div> 
     </div> 

     </div> 
    </div> 
+1

Was ist 'return true; event.preventDefault(); 'soll das genau tun? Wie kann 'event.preventDefault(); 'nach **' return true; 'aufgerufen werden, und von innerhalb eines Timeout nicht weniger –

+0

yeah, muss nur wahr zurückgeben. aber das löst mein Problem nicht. – user3661745

+0

Schicken Sie ein Formular? Vielleicht ist das der Grund. Versuchen Sie 'event.preventDefault();' außerhalb der setTimeout-Callback-Funktion (die ich immer noch nicht ganz sicher, dass ich verstehe) –

Antwort

0

Es funktionierte, wenn ich am Ende des HTML-Code, um den jQuery-Code setzen.

Verwandte Themen