5

I've implemented block UI as this request can take a little, time when the ajax request starts everything works as expected.

But when the ajax request finishes and the msgbox is shown, the UI doesn't unblock!

Any ideas?

I'm using IE8.

$().ajaxStart($.blockUI); 
$().ajaxStop($.unblockUI); 

function ChangeCompanyState(companyId, state) {
    var parameters = "{companyId:" + companyId + ",state:\"" + state + "\"}";
    $.ajax({
        type: "POST",
        url: "Ajax/AjaxFragments.aspx/ChangeCompanyState",
        data: parameters,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(msg) {
            if (msg.d.length > 1) {
                alert(msg.d);
                $.unblockUI();
            }
            else {
                //Theres no message to process success.
                window.location.reload();
            }
        }

    });
}
Dominic Rodger
  • 97,747
  • 36
  • 197
  • 212
RubbleFord
  • 7,456
  • 9
  • 50
  • 80

3 Answers3

8
$.unblockUI();
$(".blockUI").fadeOut("slow"); 
Jason Plank
  • 2,336
  • 5
  • 31
  • 40
4

I had the same, and resolved by using parentesis in unbluckUI sentence.

// block when ajax activity starts
function beginRequestHandler(sender, args) {
    $.blockUI({ message: '<h1><img src="loading.gif" /> Just a moment...</h1>' });
}

// unblock when ajax activity stops 
function endRequestHandler(sender, args) {
    $.unblockUI(); // previously was $.unblockUI;
}

HTH Milton

Milton
  • 928
  • 1
  • 10
  • 22
  • makes sense indeed, without them you are not actually calling the function. Documentation states otherwise however, this works. – peterrus May 04 '13 at 17:17
0

As told here, using

<meta http-equiv="X-UA-Compatible" content="IE=7" />

seems to fix the problem. I didn't get any other way to solve it in my own project.

MaLKaV_eS
  • 1,325
  • 3
  • 23
  • 39