2016-04-25 5 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エラー関数にreturn falseを入れないでください。それをonNextイベントハンドラに入れてください。 – lerouche

+0

私はしようとしましたが、それでもスクロールしてもAJAXの応答が成功することはありません。私はこれに何らかのエラーがある場合、私のコードを修正していただけますか? –