Nodo ONCHANGE
En este nodo se describen los campos cuyos cambios se quieren monitorear y las acciones que se desea que se ejecuten cuando ocurran los cambios.
Cuando ocurre un cambio de valor en una propiedad, se buscan las acciones descritas de la siguiente forma.
<onchange> <field name="campo"> <action atributos> ... </action> </field> <field name="campo"> <action ....> ... </action> </field> ...... </onchange>
Ejemplo de uso
<onchange> <field name="MAP_HOMBRE"> <action name="runscript"> <script language="VBScript"> if this("MAP_HOMBRE") = "1" then this("MAP_MUJER") = "0" this("SEXO") = "H" else if this("MAP_MUJER") = "0" then this("MAP_HOMBRE") = "1" this("SEXO") = "H" end if end if </script> </action> </field> <field name="MAP_MUJER"> <action name="runscript"> <script language="VBScript"> if this("MAP_MUJER") = "1" then this("MAP_HOMBRE") = "0" this("SEXO") = "M" else if this("MAP_HOMBRE") = "0" then this("MAP_MUJER") = "1" end if end if </script> </action> </field> </onchange>
Javascript
<onchange> <field name="MAP_FOTO"> <action name="runscript"> <script language="javascript"> var coll = appData.getCollection("ContentFileManagerImagen"); var obj = coll.createObject(); obj.FOTO = self.MAP_FOTO; obj.IDINCIDENCIA = 0; obj.FECHA = formatDateTime(new Date(),0); obj.save(); ui.refresh(); </script> </action> </field> </onchange> </script>
<onchange> <field name="MAP_CHECKBOX1"> <action name="runscript"> <script language="javascript"> if (self.MAP_CHECKBOX1 ==1){ self.MAP_CHECKBOX2 = 0; } </script> </action> </field> <field name="MAP_CHECKBOX2"> <action name="runscript"> <script language="javascript"> if (self.MAP_CHECKBOX2 == 1){ self.MAP_CHECKBOX1 = 0; } </script> </action> </field> </onchange>