Benutzer-Werkzeuge

Webseiten-Werkzeuge


Plugin installed incorrectly. Rename plugin directory 'swiftmail.backup' to 'swiftmail'.
software:tim:javascriptquickstart

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
software:tim:javascriptquickstart [2017/06/29 15:58]
semen.bortnik
software:tim:javascriptquickstart [2021/07/01 09:52] (aktuell)
Zeile 7: Zeile 7:
 Im Gegensatz zu herkömmlichen Web-Design MUSS bei TIM Script und HTML Code getrennt werden. HTML Code wird im Prozessmodell hinterlegt, der JavaScript Code wird in der custom.js Datei abgelegt. Im Gegensatz zu herkömmlichen Web-Design MUSS bei TIM Script und HTML Code getrennt werden. HTML Code wird im Prozessmodell hinterlegt, der JavaScript Code wird in der custom.js Datei abgelegt.
 Wenn man nun sein Code hinterlegen will, muss man in dem "​Administrations-client"​ in dem "​Resources"​- Tab die JavaScript-Datei hochladen, mit dem Namen: "​custom.js"​. \\ Wenn man nun sein Code hinterlegen will, muss man in dem "​Administrations-client"​ in dem "​Resources"​- Tab die JavaScript-Datei hochladen, mit dem Namen: "​custom.js"​. \\
-Diese gilt allerdings für den gesammten Mandanten, um JavaScript in einen bestimmten Prozess einzubinden,​ muss in der Smartform eine "​initMethod" ​hinterlegen, diese muss einzigartig benannt werden. Dies geschieht in der ersten+Diese gilt allerdings für den gesammten Mandanten, um JavaScript in einen bestimmten Prozess einzubinden,​ muss in der Smartform eine "​initMethod" ​hinterlegt werden, diese muss einzigartig benannt werden. Dies geschieht in der ersten
 Zeile der Smartform (also des HTML-Codes) wie folgt: ''​%%<​form class="​example-process"​ initMethod="​REPLACEME"​ > [...] </​form>​%%''​ \\ Zeile der Smartform (also des HTML-Codes) wie folgt: ''​%%<​form class="​example-process"​ initMethod="​REPLACEME"​ > [...] </​form>​%%''​ \\
  
Zeile 20: Zeile 20:
  
 ==2.1.1. JQuery beziehen== ==2.1.1. JQuery beziehen==
-Eine Smartform in TIM ist etwas anders aufgebaut als eine herkömmliche Internetseite,​ ergibt eine ''​%%document.getElementById("​ID"​);​%%''​ Suche nicht das gewünschte Ergebnis. Um mit diesem Ansatz ein richtiges Ergebnis zu bekommen, muss man mit dem this-Pointer arbeiten, dies kann allerdings schnell zu Verwirrung führen. Um trotzdem z.B. Felder in der Smartform nach der ID suchen zu können, wird JQuery empfohlen. Um dieses zu benutzen müssen wir es allerdings erst einbinden, dies geschieht so: \\+Eine Smartform in TIM ist etwas anders aufgebaut als eine herkömmliche Internetseite, ​deshalb ​ergibt eine ''​%%document.getElementById("​ID"​);​%%''​ Suche nicht das gewünschte Ergebnis. Um mit diesem Ansatz ein richtiges Ergebnis zu bekommen, muss man mit dem this-Pointer arbeiten, dies kann allerdings schnell zu Verwirrung führen. Um trotzdem z.B. Felder in der Smartform nach der ID suchen zu können, wird JQuery empfohlen. Um dieses zu benutzen müssen wir es allerdings erst einbinden, dies geschieht so: \\
 An den Anfang der Init-Methode muss folgende Zeile: <code javascript>​ jq = (this.form.ownerDocument.defaultView!=null) ? this.form.ownerDocument.defaultView.jQuery : this.form.ownerDocument.parentWindow.jQuery;​ </​code> ​ An den Anfang der Init-Methode muss folgende Zeile: <code javascript>​ jq = (this.form.ownerDocument.defaultView!=null) ? this.form.ownerDocument.defaultView.jQuery : this.form.ownerDocument.parentWindow.jQuery;​ </​code> ​
  
Zeile 65: Zeile 65:
 Um Unklarheiten mit dem this-Pointer zu vermeiden wird empfohlen, in der Init-Methode eine globale Variable (tp) zu erstellen auf die der this-Pointer gelegt wird (siehe Beispiel). Um Unklarheiten mit dem this-Pointer zu vermeiden wird empfohlen, in der Init-Methode eine globale Variable (tp) zu erstellen auf die der this-Pointer gelegt wird (siehe Beispiel).
 Im Beispiel wird in der Init-Methode eine Funktion an den Button mit der Beschriftung "Safe the adress to the database"​ angehängt. Sobald der Button gedrückt wird, wird der Inhalt eines Textfeldes, "​email_1",​ in eine Prozessvariable abgelegt. \\ Im Beispiel wird in der Init-Methode eine Funktion an den Button mit der Beschriftung "Safe the adress to the database"​ angehängt. Sobald der Button gedrückt wird, wird der Inhalt eines Textfeldes, "​email_1",​ in eine Prozessvariable abgelegt. \\
-Wichtig ist die Zeile ''​%%tp.entity.mergeLocal(true);​%%''​. Sie kommt einem "​commit"​-Befehl zugleich, ist also unabdingbar,​ wenn die Änderungen in der Datenbank geändert ​werden ​sollen. Es reicht, einen Merge-Befehl an das Ende von Variablen-Änderungen zu stellen, da ein Mal mergen alle Änderungen miteinbezieht.+Wichtig ist die Zeile ''​%%tp.entity.mergeLocal(true);​%%''​. Sie kommt einem "​commit"​-Befehl zugleich, ist also unabdingbar,​ wenn die Änderungen in das Entity übernommen ​werden. Die Änderungen im Entity werden beim Speichern (z.B. Abließen einer Aufgabe) in die Datenbank übernommen. Es reicht, einen Merge-Befehl an das Ende von mehreren ​Variablen-Änderungen zu stellen, da ein Mal mergen alle Änderungen miteinbezieht.
 <code javascript>​ <code javascript>​
     //Auf den Button mit der ID "​compare_adress"​ wird eine Funktion gelegt, die bei Klick ausgelöst wird     //Auf den Button mit der ID "​compare_adress"​ wird eine Funktion gelegt, die bei Klick ausgelöst wird
software/tim/javascriptquickstart.1498744716.txt.gz · Zuletzt geändert: 2021/07/01 09:59 (Externe Bearbeitung)