我有一个带按钮的XPage,与按钮相关的代码是CSJS,首先它必须将innerHTML更新为DIV,然后调用XAgent返回结果。
它不能正常工作,因为innerHTML只在XAgent执行后更新,我需要它尽快更新。
我复制下面的CSJS代码:
var x = document.getElementById('#{javascript:getClientId("divMsgApplicazione")}');
if(x!=null) x.innerHTML = "Ricerca in corso...";
var risultato;
var xhrArgs = {
url: urlAgent,
handleAs: "text",
preventCache: true,
sync: true,
load: function(data) {
risultato = data;
},
error: function(error) {
alert("An unexpected error occurred: " + error);
return null;
}
}
//Call the asynchronous xhrGet
var deferred = dojo.xhrGet(xhrArgs);
return risultato
sync参数不能为false。
哪个罐是可能的原因?
1条答案
按热度按时间5gfr0r5j1#
在按钮的onclick事件中执行的SSJS代码将在刷新XPage之前执行,这意味着div将在代码(包括XAgent)完全执行之后刷新。您可以使用按钮的eventHandler中的'onComplete'属性来调用XAgent。这是一个在刷新之后执行的普通javascript事件(客户端)。
要访问eventhandler(而不是按钮)的属性,可以在XML中定位eventhandler,或者在大纲面板中选择事件。
提示:在按钮事件处理器中还有其他客户端事件,这里有一个简单的概述: