2016-06-02 5 views
0

Ich benutze die jQuery improptu Bibliothek und verstehe nicht die asynchrone Natur davon. Ich habe unten einen Code, den ich umleiten möchte, nachdem die Eingabeaufforderung ausgeführt wurde. Ich möchte nicht, dass die nächste Codezeile ausgeführt wird, wenn meine data.redirectPage-Anweisung wahr ist.Wie kann ich improptu nicht fortsetzen, bis das Senden abgeschlossen ist und

   success: function (data) { 
        if (data.redirectPage == "hackathonregistration") { 
         $.prompt("Your code has been accepted and you will now be redirected to the hackathon registration page", 
         { 
          submit: function() { 
           window.location.href = "/Register/hackathon"; 
          } 
         }); 
        } 

Antwort

0

Von dem, was ich gelesen schnell über Impromptu, sieht der Code ok.
Mit Ausnahme der fehlenden } Ihre success Funktion schließen ...;)

UND keine Tasten auf dem Absenden Sie zu triggern versuchen.
Das ist ein wichtiger AND.

Try this:

success: function (data) { 
    console.log(data.redirectPage); 
    if (data.redirectPage == "hackathonregistration") { 
     $.prompt("Your code has been accepted and you will now be redirected to the hackathon registration page", 
     { 
      buttons: { "Yes": true, "No": false }, 
      submit: function(e,v,m,f) { 
       // use e.preventDefault() to prevent closing when needed or return false. 
       // e.preventDefault(); 
       console.log("Value clicked was: "+ v); 
       if(v){ 
        window.location.href = "/Register/hackathon"; 
       } 
      } 
     }); 
    } 
} 

ich nehmev ist der bolean wahr/falsch.
Wie gesagt, ich lese real schnell auf Impromptu.

Persönlich verwende ich SweetAlert. Suche es als Alternative ... Vielleicht einfacher.