0

関数から目的の機能を取得するのに少し問題があります...基本的に、AJAX関数を2回呼び出しています(Oracle APEXによって提供されているため、これらを変更することはできません)が、その間。アクションが進行している間、標準のAJAXy回転gifを表示したいのですが、あまり運がありません。これが私がこれまでに持っているものです:

function paginate(reportIDs, startRecord)
{
 //block access to the UI and show a "please wait" message
  $.blockUI({ css: { 
            border: 'none', 
            padding: '15px', 
            backgroundColor: '#000', 
            '-webkit-border-radius': '10px', 
            '-moz-border-radius': '10px', 
            opacity: .5, 
            color: '#fff' 
        } });

  //make the two AJAX calls to the APEX provided function
  for(var i = 0;i<reportIDs.length;i++)
  {
    $a_report(reportIDs[i], startRecord, ITEMS_PER_PAGE, ITEMS_PER_PAGE);
  }

  //clean up some APEX garbage on the page
  formatPage();

  //make the "please wait" message go away
  $.unblockUI;
}

私が現在抱えている特定の問題は、UIのブロックは、AJAX呼び出しが完了した後にのみ発生するように見えることです。その後、ブロックを解除することはありません...何かアイデアはありますか?

4

2 に答える 2

2

ajaxを別の方法でラップし、その方法を1ミリ秒遅らせます

function paginate(reportIDs, startRecord)
{
    //block access to the UI and show a "please wait" message
    $.blockUI({ css: { 
            border: 'none', 
            padding: '15px', 
            backgroundColor: '#000', 
            '-webkit-border-radius': '10px', 
            '-moz-border-radius': '10px', 
            opacity: .5, 
            color: '#fff' 
        }
    });
    setTimeout(function(){
        //make the two AJAX calls to the APEX provided function
        for(var i = 0;i<reportIDs.length;i++)
        {
            $a_report(reportIDs[i], startRecord, ITEMS_PER_PAGE, ITEMS_PER_PAGE);
        }

        //clean up some APEX garbage on the page
        formatPage();

        //make the "please wait" message go away
        $.unblockUI();
   }, 1);
}
于 2010-02-02T16:39:22.577 に答える
0

呼び出しが次のようになっていると仮定しますasync-コールバックをajaxレポート関数に渡すか、別の関数または定数を使用してコールバックを設定できますか?それ以外の場合は、応答をポーリングする必要があります。これをどのように行うかは$a_report、ajax機能の背後にあるAPIから返されるものやAPIによって異なります。

彼らがいない場合async、それはタイプミスか何かかもしれません。他のポスターが示唆しているように、$.blockUI;おそらく$.blockUI();

于 2010-02-02T16:29:32.307 に答える