Моя основная цель - Умножить два поля и показать/сохранить ответ в другом вычисленном поле (поле пробега). Я хочу умножить вычисленное поле totalKM (не в форме) полем поля ввода perKM (в форме) по умолчанию .52.Умноженное значение умножения значением поля редактирования
Я добавил таблицу ниже со всеми полями для удобства.
<xp:table>
<xp:tr>
<xp:td>
<xp:label value="Mileage:"
id="mileage_Label1" for="mileage1">
</xp:label>
</xp:td>
<xp:td>
<xp:text escape="true" id="mileage">
<xp:this.converter>
<xp:convertNumber type="number"></xp:convertNumber>
</xp:this.converter>
<xp:this.value>
<![CDATA[#{javascript:return claimDoc.getItemValue("perKM");}]]>
</xp:this.value>
</xp:text>
</xp:td>
<td></td>
<td></td>
</xp:tr>
<xp:tr>
<xp:td>
<xp:label value="Total KM" id="label1"></xp:label>
</xp:td>
<xp:td>
<xp:text escape="true" id="totalKM"
style="font-weight:bold">
<xp:this.value>
<![CDATA[#{javascript:var cView:NotesView = database.getView("expenses");
var nav:NotesViewNavigator = cView.createViewNav();
var entry:NotesViewEntry = cView.getEntryByKey((@Name("[CN]",context.getUser().getDistinguishedName())),true);
entry = nav.getPrev(entry);
if (entry == null) {
//donothing
}
else {
return entry.getColumnValues()[2];
} }]]>
</xp:this.value>
</xp:text>
</xp:td>
<xp:td>
by
<xp:inputText id="inputText1"
style="width:30px" value="#{claimDoc.perKM}"
defaultValue=".52">
<xp:this.converter>
<xp:convertNumber type="number"></xp:convertNumber>
</xp:this.converter>
</xp:inputText>
cents
</xp:td>
<xp:td>
</xp:td>
</xp:tr>
</xp:table>
Если вы используете управляемый компонент или POJO, вы можете привязать свои поля к bean-компоненту, а затем поместить свой код в метод getter. Используйте событие onChange для обновления полученного поля. (Лучше всего поместить поле в контейнер и обновить контейнер.) Для этого вам понадобятся базовые знания Java. Я написал сообщение в блоге, которое может вам помочь: http://notesspeak.blogspot.com/2013/06/dynamic-computed-values-in-xpage.html –
Стив положил ваш комментарий в ответ, чтобы его можно было принять. Я бы тоже использовал Java, но он мог бы работать с объектом SsJS. – stwissel