Das Notes Forum
Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: Banditbond am 18.06.07 - 11:55:09
-
Moin !
Habe folgendes Problem:
Habe eine Webanwendung welche aus mehreren Schritten besteht zwischen dennen gesprungen werden kann.
Im Moment verwende ich an mehreren Stellen Action HotSpots welche Feldwerte setzen und dann ein @Command([FileSave]) ausführen.
Dadurch wird die Seite neugeladen und dabei können z.B. Hide/When Formeln auf den neuen Werten laufen.
Nun muss ich an mehreren Stellen JavaScript nutzen, das Problem ist das ein dortiges forms[0].submit() NICHT einem @Command([FileSave]) entspricht !
Es entspricht einem @Command([FileSave]) gefolgt von einem @Command([FileCloseWindow]), d.h. es wird das $$return feld ausgewertet, was bei einem reinen @Command([FileSave]) nicht passiert !
Habe schon versucht über $$return einfach die aktuelle Form wieder aufzurufen, dabei wird natürlich ein neues Doc agelegt.
Als Info: Es gibt ein SaveOptions Feld auf meiner Form, wird ein @Command([FileSave]) ausgeführt wird zwar wie oben beschrieben verfahren, ABER KEIN Dokument angelegt. (Bug ?)
Hat jemand eine Idee wie ich das ganze mit JavaScript angehen kann ?
-
Hi,
guck dir mal im Quellcode einer Domino-Generierten Seite im Head die JS-Funktion _doClick an. Du kannst über diese Funktion das aktuelle Dokument aktualisieren (Hide-Whens, Berechnete Felder etc.).
Diese Funktion erscheint, wenn du mindestens 1 Hide-When Formel in deiner Maske hast bzw. du mindestens ein Feld mit der Eigenschaft "Werte aktualisieren bei Dokumentaktualisierung" aktiviert hast.
Aufruf z. B.:
<a href="javascript:_doClick('$Refresh', this, '_self', '#_RefreshKW_sprache')">Feld sprache aktualisieren</a>
Hoffe, es hilft dir.
-
Danke erstmal,
hatte slebst schon versucht mithilfe der _doClick weiter zu kommen, allerdings ohne Erfolg.
Habe jetzt einen, zugegeben sehr unschönen, Workaround gefunden der für meine einfache Anwendung ausreicht.
Habe einen Button der Subform hinzugefügt welcher ein @Command[FileSave]) durchführt. Unter den HTML Probs habe ich ihm einen Namen, z.B. Save gegeben und unter Style "display: none;" eingetragen. (Den Button NICHT versteckt)
dadurch ist er im Web unsichtbar, per JS2 kann ich aber per
"window.document.forms[0].Save.click()" den Button aufrufen und mein FileSave durchführen.
Funktioniert einwandfrei und wie gewünscht.
Gruß, Daniel