2

我正在使用 twitter 引导表单向导在每个页面上提交数据并进行验证。现在我想防止,如果 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;
                }
            });
        }
    }
},

谢谢,

4

2 回答 2

1

Its working after changes. Thanks to all for helping.

  '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;
},  
于 2016-04-25T13:19:01.497 回答
0

这样做的唯一方法是始终return false使其不会自动滚动到下一步,然后success在 AJAX 请求的功能中手动滚动到下一步(这样只有在成功时才会继续)。您可能希望在 AJAX 请求期间放置一个动画,否则它看起来好像什么都没有发生。

于 2016-04-25T07:46:04.047 回答