FieldChange Event Does Not Fire


A FieldChange PeopleCode event may not fire on a field if the component is set to deferred processing and the page-field setting is to allow deferred processing:

allowed-deferred-processing-page-field-settings.png

This is a common problem when adding FieldChange events to radio buttons. Make sure that your field has allowed deferred processing unchecked in the page-field settings:

A good way to determine if a field is going to fire PeopleCode is to use your browser console/inspector tool to look at the field on the page at run time.

Here's the HTML source for a radio button input form field that did not fire PeopleCode:

<input type="radio" onclick="this.form.DERIVED_SR_ATND_ATTEND_CR_UPD_FLG$rad.value=this.value;
doFocus_win0(this,false,true);" value="U" tabindex="22" id="DERIVED_SR_ATND_ATTEND_CR_UPD_FLG$29$" 
name="DERIVED_SR_ATND_ATTEND_CR_UPD_FLG"/>

Here's the same HTML source for the radio button input form field after turning off allow deferred processing:

<input type="radio" onclick="this.form.DERIVED_SR_ATND_ATTEND_CR_UPD_FLG$rad.value=this.value;
submitAction_win0(this.form,this.name);/*ffffffff,0*/" checked="checked" value="U" tabindex="22"
id="DERIVED_SR_ATND_ATTEND_CR_UPD_FLG$29$" name="DERIVED_SR_ATND_ATTEND_CR_UPD_FLG"/>

The key difference here is the submitAction_win0(this.form,this.name);. In the code that does not fire this is set to doFocus_win0(this,false,true);.


Revision #1
Created Wed, Jul 31, 2019 12:06 AM by PeopleSoft Wiki
Updated Wed, Jul 31, 2019 12:08 AM by PeopleSoft Wiki