2016-04-25 2 views
2

Ich benutze twitter Bootstrap Form Wizard, um Daten auf jeder Seite mit Validierung zu übermitteln. Jetzt möchte ich verhindern, blättern Sie zum nächsten Schritt, wenn die Ajax-Antwort beim Übertragen der Daten einen Fehler erhält. Unten ist mein Code,Bootstrap Formwizard - verhindern, zum nächsten Schritt zu scrollen, wenn jede Seite Formular zum Senden von Ajax-Antwort Fehler

'onNext': function(tab,navigation,index){ 
    //scrollTo('#wizard',-100); 
    if(index == 1){ 
     var $valid = $('#register_form').valid(); 
     if(!$valid){ 
      $validator.focusInvalid(); 
      return false; 
     } 
     else 
     { 
      var options = $('form[name=register_form]').find('input, textarea, select').filter('.fw1').serialize(); 
      var data = options + '&step=1'; 
      $.ajax({ 
       type: 'POST', 
       url: 'employeeEntryProcess.php', 
       data: data, 
       success: function(data){ 
        this.show(2); 
       }, 
       error: function(){ 
        return false; 
       } 
      }); 
     } 
    } 
}, 

Danke,

Antwort

0

Es funktioniert nach Änderungen. Danke an alle für die Hilfe.

'onNext': function(tab,navigation,index){ 
     if(index == 1){ 
      var $valid = $('#register_form').valid(); 
      if(!$valid){ 
      $validator.focusInvalid(); 
      return false; 
      } 
      else 
      { 
      var options = $('form[name=register_form]').find('input, textarea, select').filter('.fw1').serialize(); 
      var data = options + '&step=1'; 
      $.ajax({ 
       type: 'POST', 
       url: 'employeeEntryProcess.php', 
       data: data, 
       success: function(response){ 
       $('#wizard').bootstrapWizard('show',1); 
       }, 
       error: function(){ 
       alert('Error'); 
      } 
      }); 
     } 
    } 
    return false; 
}, 
0

Der einzige Weg, dies zu tun return false so immer ist, dass es nicht automatisch mit dem nächsten Schritt nicht blättern, und dann in die mit dem nächsten Schritt manuell Scrollen success Funktion der AJAX-Anfrage (so dass es nur fortfahren würde, wenn es erfolgreich war). Eventuell möchten Sie eine Animation für die Dauer der AJAX-Anfrage einfügen, da sonst nichts passieren würde.

+0

Ich habe falsch falsch zurückgegeben. Aber es funktioniert nicht. –

+0

@VenkateshAnantharaj Setzen Sie in der Fehlerfunktion nicht return false, sondern in den onNext-Ereignishandler. – lerouche

+0

Ich habe versucht, aber es verhindert zu scrollen nächsten sogar Ajax-Antwort erhalten Erfolg. Können Sie meinen Code korrigieren, wenn ich einen Fehler habe? –

Verwandte Themen