ajax发布后,表单提交按钮保持禁用状态

时间:2014-10-18 15:12:56

标签: jquery ajax html5 forms

我正在构建一个包含多个表单的页面。每个表格都被命名等,因此在这方面没有问题。但是我遇到了一个问题,即在完成$ .post()之后,提交按钮仍然处于禁用状态。

以下是表单提交的通用邮件处理程序

    $("form")
        .bootstrapValidator()
        .on('success.form.bv', function(e) {
            // Prevent form submission
            e.preventDefault();

            // Get the form instance
            var $form = $(e.target);

            // Get the BootstrapValidator instance
            var bv = $form.data('bootstrapValidator');
            console.log($form.serialize());
            $.post( "/post/", $form.serialize(), function(data) {
                    if(data) {
                        toastr.success("The form data has been updated.","Form Saved");
                    } else {
                        toastr.error("Please try to save again.","Failed");
                    }
                } , "json" // I expect a JSON response
            ).error(function() {
                    toastr.error("Please try to save again.","Failed");
            });

    });

是否有通用的方法来重新启用当前表单的提交按钮。有很多嵌套HTML,因此按钮的位置因形式而异。

提前致谢。

2 个答案:

答案 0 :(得分:1)

我不确定你的禁用是什么意思,这是否意味着禁用了html标签?

如果可以,可以使用Jquery删除禁用的attr?

在$ .post函数下添加此jquery行以删除属性?

$.post( "/post/", $form.serialize(), function(data) {    
    $form.find("input[type=submit]").removeAttr('disabled');

答案 1 :(得分:0)

我在代码中没有看到按钮上的禁用属性,您可能意味着它仍然专注。在这种情况下,您可以简单地关注元素$('#form-button').blur();