Javascript & Datenanbindung an Microsoft?!?
tortic
- dhtml
Liebe Forumleser,
dies ist nun der 2. Versuch , Licht hinter die Datenanbindung an Microsoft zu bringen. Auf 1. gabs leider keine Reaktion (http://forum.de.selfhtml.org/archiv/2006/8/t134047/).
Ich beziehe mich dabei auf folgendes Beispiel aus SELFHTML: http://de.selfhtml.org/dhtml/modelle/datenanbindung.htm#tabelle.
Ich habe eine Funktion im <head> eingefügt:
<script language="JScript" type="text/jscript">
<!--
function seitenwechsel(zeile)
{
F1 = window.open(zeile+".jpg","_self");
}
//-->
</script>
die ich beim Clicken auf den Vornamen aufrufe (Änderung):
<tr onClick='javascript: seitenwechsel(this.recordNumber-1)'>
<td bgcolor="#EEEEEE" valign="top"><b>Vorname:</b></td>
<td bgcolor="#FFFFE0" valign="top"><span datafld="Vorname"></span></td>
</tr>
d.h. beim Clicken auf den Vornamen wird ein Bild angezeigt (0.jpg/1.jpg/2.jpg ... entsprechend des Datensatzes).
Wenn ich jedoch vom Bild wieder zurücknavigiere, komme ich nicht beim Ursprungsdatensatz wieder an, sondern immer wieder beim 1. Datensatz. Gibt es eine einfache Möglichkeit, wieder am Ursprungsdatensatz anzukommen? Wenn ja, wie?
Gibt es außerdem die Möglichkeit, Daten aus der Datendatei zu verarbeiten, auch wenn diese nicht in der Tabelle mit ausgegeben wurden (auch nicht verdeck)?
Ist es möglich, in der Textdatei Daten gekürzt anzulegen (z.B. "1", "2", usw.) um dann beim Auslesen und darstellen des Datensatzes, die gekürzten Daten aufzubereiten (also aus 1 mache 1+".jpg" oder 1+".html") für z.B. <img id="bild" datafld="bildlnk">, wobei in der Textdatei unter bildlnk nur die gekürzten Daten liegen. Ich dachte an eine Funktion, an die die gekürzten Daten übergeben werden, diese dann aufbereitet und auch ausgibt.
Dies ist alles nur ein Beispiel, ich arbeite an einem Katalog, wo es dann etwas komplexer wird, durch Such- und Filterfunktionen und gleichzeitiger Anzeige von mehreren Datensätzen als Datenzeilen.
Außerdem, warum hacken viele Leute so auf Javascript rum und loben Perl in den 7. Himmel? Offline funktioniert Perl leider nicht. Ich arbeite mit Doku-Katalogen auf CD (DVD). Perl ist dafür aus meiner Sicht unbrauchbar - oder liege ich da falsch?
Würde mich aber auch über Reaktionen auf oberes Problem freuen.
Danke im Voraus.
Hell-O!
Außerdem, warum hacken viele Leute so auf Javascript rum und loben Perl in den 7. Himmel?
Weil Perl serverseitig läuft, Javascript jedoch beim Client (jaja, es gibt/gab auch SSJS).
Weil Perl wesentlich mehr Möglichkeiten bietet als JS es je wird.
Offline funktioniert Perl leider nicht.
Perlskripte allein funktionieren nirgendwo, Du brauchst wenigstens den Perl-Interpreter. Und das macht es für dein Vorhaben denkbar ungeeignet.
Würde mich aber auch über Reaktionen auf oberes Problem freuen.
Ich versuch's mal:
Wenn ich jedoch vom Bild wieder zurücknavigiere, komme ich nicht beim Ursprungsdatensatz wieder an, sondern immer wieder beim 1. Datensatz.
Was heißt "zurücknavigieren"? Soweit ich sehe, öffnest du ein Popup mit dem Bild. Wenn man das wieder schließt, sieht man die ursprüngliche Seite dahinter wieder an der Position, wo man draufgeklickt hat.
Gibt es eine einfache Möglichkeit, wieder am Ursprungsdatensatz anzukommen? Wenn ja, wie?
Anker könnten helfen.
Gibt es außerdem die Möglichkeit, Daten aus der Datendatei zu verarbeiten, auch wenn diese nicht in der Tabelle mit ausgegeben wurden (auch nicht verdeck)?
Da Javascript von Haus aus keinen Zugriff auf die Datendatei hat, kann ihm nur bekannt sein, was innerhalb der HTML-Datei steht. Ansonsten wäre AJAX vielleicht ein Ansatz.
Siechfred
Hallo Siechfred,
DANKE für den Versuch, ich versuchs halt noch mal zu beschreiben:
Kein Popup sondern Bild (oder eben auch andere HTML-Seite) wird im gleichen Fenster aufgerufen. Wenn danach im Browser auf vorhergehende Seite geclickt wird, wird sozusagen wieder das Inhaltsverzeichnis aufgerufen, leider jedoch mit dem 1. Datensatz und nicht z.B. mit dem 87., von dem man z.B. auf das Bild gekommen ist.
Ich versuch's mal:
Wenn ich jedoch vom Bild wieder zurücknavigiere, komme ich nicht beim Ursprungsdatensatz wieder an, sondern immer wieder beim 1. Datensatz.
Was heißt "zurücknavigieren"? Soweit ich sehe, öffnest du ein Popup mit dem Bild. Wenn man das wieder schließt, sieht man die ursprüngliche Seite dahinter wieder an der Position, wo man draufgeklickt hat.
Gibt es eine einfache Möglichkeit, wieder am Ursprungsdatensatz anzukommen? Wenn ja, wie?
Anker nützen hier nix, denn der HTML-Text in der Tabelle besteht bei mir ja eh nur aus einer Zeile mit einigen Datenspalten. Angezeigt werden aber natürlich alle dem Filter entsprechenden Datenzeilen (begrenzt z.B. durch die Angabe datapagesize="40" - in SELFHTML ist dieser Wert eben halt "1").
Da ich weiss, von welcher Datenzeile ich komme (this.recordNumber), dachte ich, diesen Wert irgendwo zwischenzuspeichern, müßte dann aber halt beim Zurücknavigieren beim Seitenaufruf die Möglichkeit haben, die Auflistung mit dem soundsovielten Datensatz (oder der soundsovielten Datensatzgruppe wie z.B. "81" für die Gruppe von 81-120 zu beginnen.
Anker könnten helfen.
Siechfred
Das mit Perl find ich ja auch net und bin auch von der besseren Leistungsfähigkeit und den breiteren Möglichkeiten überzeugt, kann aber dies in meinem Fall leider nicht nutzen.
Hab außerdem schon mit Datenarrays gearbeitet, die ja auch ausgelagert werden können. Die Daten hab ich dann beim Einlesen zwar alle, allerdings ist das Filtern und Sortieren dann halt aufwendiger.
Naja, trotzdem Danke.
Hell-O!
Kein Popup sondern Bild (oder eben auch andere HTML-Seite) wird im gleichen Fenster aufgerufen.
Verstehe ich nicht. Du verwendest window.open, das ist der klassische Fall eines Popups.
Wenn danach im Browser auf vorhergehende Seite geclickt wird, wird sozusagen wieder das Inhaltsverzeichnis aufgerufen, leider jedoch mit dem 1. Datensatz und nicht z.B. mit dem 87., von dem man z.B. auf das Bild gekommen ist.
Via "Zurück-Knopf"? Dann landet man normalerweise genau dort, wo man herkam, weil der Browser die vorhergehende Seite aus dem Cache holt. Es könnte allerdings an dem DataBinding-Gedöns liegen, das den Browser zum erneuten Laden der Seite animiert. Und für diesen Fall benötigst du eine Angabe, wo die Anzeige ursprünglich stand.
Da ich weiss, von welcher Datenzeile ich komme (this.recordNumber), dachte ich, diesen Wert irgendwo zwischenzuspeichern, müßte dann aber halt beim Zurücknavigieren beim Seitenaufruf die Möglichkeit haben, die Auflistung mit dem soundsovielten Datensatz (oder der soundsovielten Datensatzgruppe wie z.B. "81" für die Gruppe von 81-120 zu beginnen.
Du kannst deinem object-Tag die Daten filtern, vielleicht wäre das ein Ansatz.
Siechfred
Hallo Siechfred,
Da ich weiss, von welcher Datenzeile ich komme (this.recordNumber), dachte ich, diesen Wert irgendwo zwischenzuspeichern, müßte dann aber halt beim Zurücknavigieren beim Seitenaufruf die Möglichkeit haben, die Auflistung mit dem soundsovielten Datensatz (oder der soundsovielten Datensatzgruppe wie z.B. "81" für die Gruppe von 81-120 zu beginnen.
Du kannst deinem object-Tag die Daten filtern, vielleicht wäre das ein Ansatz.
Danke für den Link, zwar englisch, aber gut sortierte Infos. Sollte man MS gar nicht zutrauen.
Dafür müßte ich jeder Datenzeile eine ID verpassen, um die richtigen dann rauszufiltern, da bisher die Daten einer Zeile selbst nicht wissen, der wievielten Datenzeile sie entsprechen.
Dann kann ich aber auch gleich wieder auf Arrays zurückgehen, die sind mit Javascript einfacher aufzubereiten (abgesehen vom Sortieren).
Naja, wäre sonst auch alles zu einfach. Javascript ist wohl wie Thüringer Bratwurst ohne Senf. Und die Datenanbindung von MS ist wohl der Senf ohne Bratwurst. Schade nur, daß es nicht beides zusammen gibt.
Tschüß und viele Grüße
tortic