Excellent! What I didn't get was on-value-changed
is fired during form_load.
Thank you for the help.
Gary
Here's how I've done that:
<fd:booleanfield id="useDefaultPort">
<fd:label>Use default FTP Port (Leave checked if you are not sure)</fd:label>
<fd:initial-value>true</fd:initial-value>
<fd:on-value-changed>
<_javascript_>
<![CDATA[
var parent = event.source.parent;
var useDefaultPort = parent.lookupWidget("useDefaultPort").getValue();
if(useDefaultPort == "false") {
parent.lookupWidget("remotePort").setState(WidgetState.ACTIVE);
} else {
parent.lookupWidget("remotePort").setState(WidgetState.INVISIBLE);
parent.lookupWidget("remotePort").setValue(new java.lang.Integer(21));
}
]]>
</_javascript_>
</fd:on-value-changed>
</fd:booleanfield>
<fd:field id="remotePort" required="true" state="invisible">
<fd:datatype base="integer"/>
<fd:label>Remote FTP Port</fd:label>
<fd:validation>
<fd:range min="1" max="65535">
<fd:failmessage>Remote FTP Port must be a number between 1 and 65535</fd:failmessage>
</fd:range>
</fd:validation>
</fd:field>
The only difference being I my boolean field needs to be false to show the field.
HTH
