2012-06-11 130 views
0

我的HTML的要点后,(我有相同的页面上有多个形式)禁用输入表单提交使用jQuery表单插件

<tr> 
    <form method="post" class="save-form" id="93"> 
     <td> 
      <a href="#" class="edit">Edit</a> <input type="submit" value="save" name="save" class="save hidden" /> 
     </td> 
     <td class="center gray"> 
      <input type="text" value="234" name="views" /> 
     </td> 
    </form> 
</tr> 

我使用的jQuery Form Plugin

$('.save-form').each(function() { 
    $(this).ajaxForm({ 
     beforeSubmit: function() { 
      // 
     }, 
     success: function(data) { 
      // 
     } 
    }); 
}); 


$('.save-form').submit(function() { 
    $(this).parent().find('a.edit').show(); 
    $(this).parent().find('input.save').hide(); 
// $(this).parent().find('input').attr('disabled', 'disabled'); 
}); 

所有这些工作正常。

但我想将所有从$('.save-form').submit(function() {移动到success:。我无法弄清楚我用的HTML ..

我也想在表单提交后禁用save输入。如果我尝试使用$('.save-form').submit(function() {,它将禁用输入,但不会提交输入数据 - 我认为是因为输入在处理之前被禁用。如果它在success:内禁用,它应该可以工作,但我无法弄清楚。

如何处理表单然后禁用输入?

+0

我们展示您禁用声明 – Adil

+0

@Adil'$(本).parent()找到(”输入')。attr('disabled','disabled');' – Aaron

+0

@bjauy回答了我希望它会帮助 – Adil

回答

1

我会说,你应该尝试一下这种方法:

$('.save-form').each(function() { 
    var form = this; 
    $(this).ajaxForm({ 
     beforeSubmit: function() { 
      $(form).parent().find('input.save').attr('disabled', 'disabled'); 
     }, 
     success: function(data) { 
      $(form).parent().find('a.edit').show(); 
      $(form).parent().find('input.save').hide(); 
     } 
    }); 
});