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>