Search code examples
xpagesxpages-extlibxpages-ssjs

OnChange event partial refresh on formRow


Could not find anything helpful on the internet, so:

I've got an OnChange event in a number field which shall update two elements on my page:
- first, a computedField included in a panel for showing a different currency is updated - that's working fine.
- second, next formRow's label (computed dynamically) should be re-computed/updated to show an asterisk if the value in the number field is larger than some value x, asking for some information to explain this exceedance.

I tried to refresh the formRow by the ID I've given to it via the number's field OnChange's OnComplete event,

<xp:eventHandler event="onchange" submit="true" refreshMode="partial" refreshId="panelOtherCurrency" disableValidators="true">
  <xp:this.onComplete>
    <![CDATA[XSP.partialRefreshGet("#{id:formRowExceedanceReason}", {});]]>
  </xp:this.onComplete>
</xp:eventHandler>

but I receive the error message "An error occurred while updating some of the page. No element to submit with id ... : formRowExceedanceReason".

So, I found that the formRow's id is not published/known to the HTML code.
As you cannot use panels around formRows in formTables (in my experience, they're simply ignored/not rendered at all), has anybody another way of refreshing this formRow or the formRow's label (inbuilt solution favored)?

Thx in advance!


Solution

  • Seems that the only way to achieve this is to put the formRow which needs to update it's label into another formTable and refresh this via the OnComplete event...