私はAjax呼び出しの前に開かれたJQueryダイアログと、実行される。文の下に(オプションをキャンセルし、[OK]または全くないと)バナーとして多忙なダイアログボックスが開きます。
$('.updateActionsTasks').live('click', function()
{$('#modalBusy').html('<span>Busy...Please Wait.</span>').dialog({ dialogClass: 'no-close', resizable: false, width: 100, height: 100, modal: true, title: 'Busy' });
More code goes here ...
//Ajax function call goes here
しかし、closeメソッドは一度だけ正しく動作します。クリックを再度実行すると、ダイアログが開きますが、決して閉じられません。タグ 'COMM'の行は実行されますが、2回目の実行時にはダイアログが閉じません。代わりに、ダイアログボックスを初期化する
function ActionWorklistItem(serviceUrl, worklistActionItems, actionName, ActiveTab) {
$.ajax({
type: "GET",
url: serviceUrl,
dataType: ($.browser.msie) ? "text" : "xml",
success: function (data) {
var xml;
if (typeof data == "string") {
xml = new ActiveXObject("Microsoft.XMLDOM");
xml.async = false;
xml.loadXML(data);
} else {
xml = data;
}
var xmlText = $(xml).text();
xmlObj = $.parseXML(xmlText);
if ($(xmlObj).find('IsSuccess').text() == 'true') {
$('#modalBusy').dialog('close'); //COMM: This always executes
__doPostBack($('.upWorklistCtrlID').val(), ActiveTab);
} else {
$('#modalBusy').dialog('close');
//Create error msg dialog }
},
error: function (xhr, ajaxOptions, thrownError) {
$('#modalBusy').dialog('close');
//Create error msg dialog
}
});
'success'コールバック関数の最後の括弧は、' //エラーmsgダイアログを作成します.'です。これがコピー/ペーストエラーでない限り、 '}'文字を次の行に移動します。 – Jasper
@ジャスパーいいキャッチ。 –
コピー貼り付けエラーでした。 – Vashu