Я очень редко использую CSJS, но в этом случае я пытаюсь заставить его обновить вычисляемое поле. В то время как поле имеет обновленное значение, чтобы я мог получить к нему предупреждение, я не могу отобразить его на XPage. Я пытался использовать редактируемое поле с проверкой «Только чтение», но с ним данные не отображаются и в XPage.
Я вызываю блок скриптов CSJS и знаю, что вам нужно обновить, чтобы отобразить изменения, но я поместил панель вокруг поля и попробовал ее с этим и div. Ни выдает сообщение об ошибке, но и значение не отображается.
Я использую XSP.partialRefreshGet ("# {id: остальные}"); сразу после того, как я установил значение. Я пробовал это с .partialRefreshPost, который ничего не делает, но затем я прочитал в посте Стефана Висселя "Знакомство с объектом XSP", что "... Для POST refreshId должен указывать на форму ...", и это XPage не привязан к форме. Я также попытался использовать параметр немедленного: истина.
Я прочитал статью Терезы Монахан "Библиотеки JavaScript на стороне клиента в XPages", книгу Сердара Басгмеза "10 ошибок, которые вы и каждый разработчик XPages", все, что я могу найти в Интернете, а также книгу "Освоение XPages". Я знаю, что это не должно быть так сложно, поэтому я считаю, что я что-то упускаю (возможно, глупо).
В соответствии с вышесказанным, ни XPage, ни конкретное поле не связаны с какой-либо формой. Он находится на первой вкладке таблицы с вкладками и просто отображает вычисленное значение. Значение не нужно нигде сохранять.
Я вызываю функцию в моем агенте, используя onChange = "Testing ()" в выделениях dijit / form / ComboBox, потому что мне нужны крошечные прямоугольники, и опять же, мне не нужны значения полей после того, как выборки были сделаны .
Вот простой текст в блоке скрипта:
function Testing(){
XSP.getElementById("#{id:remainingPts}").value = "100";
var rewards = XSP.getElementById("#{id:numOfRewards1}").value;
alert("rewards: " + rewards);
XSP.partialRefreshGet("#{id:remaining}");
}
А вот как выглядит поле:
<xp:panel id="remaining">
<xp:text escape="true" id="remainingPts" value="0">
</xp:text>
</xp:panel>
Что я делаю неправильно?