JavaScriptCode editieren

Fragen & Antworten zur Steuerung von 3D Inhalten in PDFs über JavaScript
Antworten
Heiko
Beiträge: 79
Registriert: 05.04.2007, 13:37

JavaScriptCode editieren

Beitrag von Heiko » 21.08.2007, 10:04

Hallo zusammen
kann mir jemand sagen wie man zu einem Formularfeld JavaScriptCode durch ein JS editieren kann?
JS soll dann durch MouseUp ausgelöst werden.
Gruß Heiko

Heiko
Beiträge: 79
Registriert: 05.04.2007, 13:37

JavaScriptCode editieren

Beitrag von Heiko » 21.08.2007, 11:09

Hab was...

Mit der Funktion setAction kann man einem Formularfeld über JS eine Aktion und JS zuweisen.

Code: Alles auswählen

f.setAction("MouseUp", "app.alert('Hallo')")
Das einzige Problem was ich jetzt habe ist, das mein JS mehrere Zeilen hat. Die Funktion erwartet aber den Code als String also in Anfüfrungszeichen. Ich weiß jetzt nicht wie ich mehere Zeilen in Anführungszeichen ausweisen soll. Natürlich könnte ich den Code ohne Absätze schreiben, das funktioniert auch, nur kann man natürlich dann nicht mehr nachvollziehen wie das Script funktioniert.

Hoffe jemand kann mir nen Tipp geben.

Gruß Heiko

acronaut
Beiträge: 693
Registriert: 14.09.2006, 21:32
Kontaktdaten:

JavaScriptCode editieren

Beitrag von acronaut » 02.10.2007, 19:29

Hi Heiko,

Du bist echt Klasse, jedes Mal, wenn ich dazu komme das Forum durchzusehen, hast Du Dir die meisten deiner Fragen schon selbst beantwortet. Finde ich übrigens super, dass du das dann auch tatsächlich reinstellst. Danke dafür schon mal.

Das Thema, das Du hier beschreibst hatte ich leider noch nie, muss aber auch sagen, dass ich es nicht ganz verstanden habe.

Ich versuchs mal selbst nochmal zu formulieren:

1. Du hast ein Formularfeld
2. Du möchtest diesem Feld über einen Button ein JavaScript zuweisen?
3. Warum?

Gruß,
Andi


Heiko
Beiträge: 79
Registriert: 05.04.2007, 13:37

JavaScriptCode editieren

Beitrag von Heiko » 04.10.2007, 09:34

Nicht über einen Button, sondern über einen Menübefehl.
Also ich hab mit einem JS (configJS) die Möglichkeit denn Erstellungsprozess von 3DPDFs zu lenken. Der Ersteller hat dann zum Beispiel einen Menübefehl der automatisiert allle Formularfelder (sammt Position, Größe, JS) erstellt.
Deshalb der ganze Aufwand :)
Gruß Heiko

acronaut
Beiträge: 693
Registriert: 14.09.2006, 21:32
Kontaktdaten:

JavaScriptCode editieren

Beitrag von acronaut » 09.10.2007, 21:29

Oh, hossa. Mit Plugins, bzw. der Konfiguration von Menubefehlen hab ich mich noch gar nicht richtig beschäftigt mussich sagen. Aber wär es nicht möglich das Ganze irgendwie in ein Array zu verpacken und dann das Array rüber zu schieben?

Gruß,
Andi


spongebob
Beiträge: 41
Registriert: 09.02.2007, 20:49

JavaScriptCode editieren

Beitrag von spongebob » 14.10.2007, 16:43

Wir hatten das gleiche Problem. Brauchten auf jeder Seite eines ca. 1000 Seitigen PDFs, Schaltflächen mit unterschiedlichen JScripts.

Also Du kannst doch in den Anführungsstrichen wo sich das "app.alert('Hallo')" befindet mehrere Befehle, mit Semikolon getrennt, eintragen.

hier:
-----------------------------------------------------------------------------------------
[fontsize=1]f.setAction("MouseUp", "app.alert('So ist es und so bleibt es ...'); app.alert('... in engen Hosen reibt es!');" );[/fontsize]
-----------------------------------------------------------------------------------------

... aber das meintest Du mit 'Code ohne Absätze schreiben', oder?
Die Frage ist, wo der Code leserlich sein soll: im JS was den Befehl in das 'setAction' schreibt, oder in dem damit erstellten Code im Feld/Button. Zweiteres könntest Du evtl. damit lösen, das Du ein \n für neue Zeile (Escape-Sequence) vor jede neue Zeile schreibst.

wie hier ...:
-----------------------------------------------------------------------------------------
[fontsize=1]f.setAction("MouseUp", "app.alert('So ist es und so bleibt es ...'); \napp.alert('... in engen Hosen reibt es!');" );[/fontsize]
-----------------------------------------------------------------------------------------

Könnte mir vorstellen, das man den ganzen Befehl wegen der Übersichtlichkeit auch in eine Stringvariable schreiben und einfach einsetzen kann.

zB:
-----------------------------------------------------------------------------------------
[fontsize=1]var befehl = [/fontsize][fontsize=1]"app.alert('So ist es und so bleibt es ...'); [/fontsize][fontsize=1]\n[/fontsize][fontsize=1]app.alert('... in engen Hosen reibt es!');"

[/fontsize][fontsize=1]f.setAction("MouseUp", befehl )[/fontsize][fontsize=1]
[/fontsize][fontsize=1][/fontsize]-----------------------------------------------------------------------------------------
[fontsize=1]

[/fontsize]Aber das hab ich alles nicht probiert.  Übernehme alse keine Garantie für die Richtigkeit :-)

[fontsize=1][fontsize=2]Hoffe hab das Problem richtig verstanden und wenigstens ein bischen geholfen zu haben.

Gruß Spongebob
[/fontsize][/fontsize]

Heiko
Beiträge: 79
Registriert: 05.04.2007, 13:37

JavaScriptCode editieren

Beitrag von Heiko » 15.10.2007, 08:33

@Spongebob
Das Problem war, dass das JS in einem String eingegeben werden mus. Würde ich das JS mit Absätzen eingeben, dann würde es nicht als String angenommen. Möchte aber eigentlich, dass in meinem Formularfeld ein übersichtliches JS hinterlegt ist.  Hab das mit /n noch nicht gekannt, aber wenn ich dadurch einen Absatz zuweisenkann, sollte das mein Problem lösen.
Danke für deine Unterstützung!
Gruß Heiko

Antworten