Jquery在提交

时间:2016-07-21 09:35:37

标签: jquery button

我有一个jquery按钮,在提交时会被禁用,如果它启用了任何错误。我希望在提交时更改按钮数据,如果有任何错误更改为之前的数据。

 $(document).on("click", ".create-user", function (e) {
          $(this).html('Please Wait...');
          $(".create-user").attr("disabled", true);
        // submit form
        $.ajax({
            type: 'POST',
            cache: false,
            data: $("#projectsId").serialize(),
            url: $("#projectsId").attr('action'),
            dataType: 'json',
            success: function(data){ 
                if(data.status){
                    $.pjax.reload({container:"#projectsGrid"});
                    $('#modal').modal("hide");
                }else{
                    $('#projectsId').yiiActiveForm('updateMessages', data.errors, true);

                     $(".create-user").attr("disabled", false);
                     $(this).html('Create');
                }
            }
        });

我提交时会更改为“请稍候”,但如果有错误,则不会更改回“创建”。 很少有答案会有所帮助..谢谢: - )

3 个答案:

答案 0 :(得分:0)

只需在您的ajax使用val()text()而非html中添加错误功能

         if(data.status){
                    $.pjax.reload({container:"#projectsGrid"});
                    $('#modal').modal("hide");
                }else{
                    $('#projectsId').yiiActiveForm('updateMessages', data.errors, true);

                     $(".create-user").attr("disabled", '');
                     $(this).text('Create');
                     $(this).val('Create');
                }

答案 1 :(得分:0)

请尝试$('.create-user').prop("disabled", false);删除已停用的媒体资源。

答案 2 :(得分:0)

您可以拦截错误,就像您在ajax调用中执行命令错误一样成功:

$.ajax({
            type: 'POST',
            cache: false,
            data: $("#projectsId").serialize(),
            url: $("#projectsId").attr('action'),
            dataType: 'json',

            error: function() { .... },
            success: function(data){ 
                if(data.status){
                    $.pjax.reload({container:"#projectsGrid"});
                    $('#modal').modal("hide");
                }else{
                    $('#projectsId').yiiActiveForm('updateMessages', data.errors, true);

                     $(".create-user").attr("disabled", false);
                     $(this).html('Create');
                }
            }
        });