2016-04-25 62 views
2

我正在使用twitter引導表單嚮導通過驗證在每個頁面上提交數據。現在我想阻止,如果Ajax響應在提交數據時出錯,請滾動到下一步。下面是我的代碼,Bootstrap Formwizard - 如果每個頁面表單提交ajax響應時都阻止滾動到下一步獲取錯誤

'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; 
       } 
      }); 
     } 
    } 
}, 

感謝,

回答

0

其變更後的工作。感謝所有人的幫助。

'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

做,這是唯一的辦法總是return false所以它不會滾動到下一個步驟自動,然後手動滾動的下一步success AJAX請求的功能(以便它只會在成功時繼續進行)。您可能希望在AJAX請求期間放置動畫,否則它看起來像什麼都沒有發生。

+0

我把錯誤返回false。但它不起作用。 –

+0

@VenkateshAnantharaj不要把錯誤函數中的返回值設爲false,把它放在onNext事件處理函數中。 – lerouche

+0

我試過了,但是它可以防止滾動,即使Ajax響應獲得成功。如果我在這裏有任何錯誤,你能否糾正我的代碼? –