使用jQuery Form Plugin在表单提交后禁用输入

时间:2012-06-11 10:42:45

标签: jquery

我的HTML的要点(我在同一页面上有多个表单)

<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:内被禁用它应该可以工作,但我也无法解决这个问题。

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

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分: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();
        }
    });
});