Thomas Dwardokus: Datenaustausch zwischen Oracle DB und JavaScript

Hallo !

Ich erstelle z. Z. eine Oracle DB mit Pl/Sql, die dynamisch Html- und Javascriptcode generiert. Hierbei arbeite ich fast ausschliesslich  mit Formularen. Mein Problem : Die Anzahl und die Namen der Felder sind dynamisch, daher kann ich nicht mit dem Submit-Button eine Pl/Sql-Prozedur anssteuern, da diese eine statische Parameteruebergabe besitzt.

Z.Z. benutze ich ein Javascript, das alle Felder und deren Inhalte in Cookies speichert und versendet. Die per this.location.href  = ... angesprochene Pl/Sql-Prozedur holt sich das Cookie zurueck und wertet die Daten aus. Dadurch das naechste Problem : Die Inhalte der Formulare sind beliebig gross, das Cookie ist aber auf 4 kb beschraenkt.

Kennt einer einen anderen Weg ?

Javascript kann nicht auf meine DB zugreifen, Pl/Sql kann die einzelnen Formular-Elemente nicht auswerten. Globale Variablen in anderen Frames muss ich vermeiden, da diese auch dynamisch erzeugt werden.

Vielen Dank im Voraus,

Thomas Dwardokus.

  1. Hi,

    Kennt einer einen anderen Weg ?

    onSubmit füllst Du in einem _anderen_ Formular (versteckt) eine für Dich günstige Menge von <input type="hidden">. Dieses Formular schickst Du dann ab.

    Bedenke, daß Du Dich auf diese Weise von der Verfügbarkeit einer clientseitigen Technik abhängig machst. Außerhalb eines Intranets ist dies kaum praktikabel. Besser läßt Du eine serverseitige Technik aus den dynamischen Formularen die Werte berechnen, die Deiner PL/SQL-Prozedur übergeben werden.

    Cheatah

    1. onSubmit füllst Du in einem _anderen_ Formular (versteckt) eine für Dich günstige Menge von <input type="hidden">. Dieses Formular schickst Du dann ab.

      Hallo.

      Vielen Dank fuer den Tip, Cheatah. Interessant zu wissen waere, wieviele Daten ich mit zwei <input type="hidden">-Feldern versenden kann. In einem stehen die Namen aller Elemente, die auf dem Formular zu sehen sind, im anderen sind alle Inhalt verpackt.

      PS : Deine Kritik an der clientseitigen Loesung ist voellig berechtigt. Habe aber als Auflage, serverseitig nur mit pl/sql zu arbeiten. Ausserdem ist der Server nur fuer einen ganz begrenzten Kundenkreis gedacht. Diese haben u.a. die Auflage, Cookies und JS zu aktivieren.

      Danke,

      Thomas Dwardokus

      1. Hi,

        Interessant zu wissen waere, wieviele Daten ich mit zwei <input type="hidden">-Feldern versenden kann.

        bei POST: so viel in den Arbeitsspeicher paßt.

        PS : Deine Kritik an der clientseitigen Loesung ist voellig berechtigt.

        Natürlich ;-) Aber:

        Ausserdem ist der Server nur fuer einen ganz begrenzten Kundenkreis gedacht. [...]

        In einem definierten Umfeld gelten andere Regeln. Du agierst quasi in einem Intranet; auch wenn es im Internet liegt.

        Cheatah

        1. Hi, Cheatah.

          bei POST: so viel in den Arbeitsspeicher paßt.

          Ist ja klasse, damit sind scheinbar all meine Probleme geloest. Werd' mich 'mal gleich an die Arbeit machen.

          Mit dem ganzen JS bin ich auch nicht zufrieden, da es nervig ist, die Scripte zu debuggen, etc. Aber soll halt so sein und funktioniert auch einigermassen.

          PS Hab versucht, dir 'ne Dankes-Email email su senden, wird aber zurueckgeliefert. Also auf diesem Wege : VIELEN DANK !

          Thomas Dwardokus