Medtem ko je povezovanje lastnosti, kot je opisano zgoraj, pogosto dovolj, je včasih bolj prilagodljivo ali bolj priročno uporabiti JS za skript GUI logiko. Na ta način bi lahko zgornji primer prepisali kot:
[...]
<code file="code.js"/>
'
<logic>
<script><![CDATA[
// ECMAScript code in this block
// the top-level statement is only called once
gui.addChangeCommand ("mode.string", "modeChanged ()");
// this function is called whenever the "mode" was changed
modeChanged = function () {
var varmode = (gui.getString ("mode.string") == "variable");
gui.setValue ("y.enabled", varmode);
gui.setValue ("constant.enabled", !varmode);
}
]]></script>
</logic>
<dialog label="T-Test">
[...]
Prva vrstica kode pove RKWard za klic funkcije modeChanged() vsakič, ko se spremeni vrednost izbirnega polja id="mode". Znotraj te funkcije definiramo pomožno spremenljivko "varmode", ki je true, ko je način "variable", false, ker je "constant". Nato uporabimo gui.setValue() za nastavitev “omogočenih” lastnosti "y" in "constant", na povsem enak način, kot smo to storili prej z uporabo stavkov <connect>.
Skriptni pristop k GUI logika postane še posebej uporabna, ko želite spremeniti razpoložljivo možnost glede na vrsto predmeta, ki ga je izbral uporabnik. Oglejte si referenco za razpoložljive funkcije.
Upoštevajte, da je skriptni pristop k GUI logiko lahko zmešate s stavki <connect> in <convert>, če želite. Upoštevajte tudi, da oznaka <script> omogoča podajanje imena datoteke skripta poleg ali kot alternativo vstavljanju kode skripta. Običajno pa je najbolj priročna vdelava kode skripta, kot je prikazano zgoraj.