
tr0nix
der-mit-dem-tux-tanzt
Hallo zusammen
Das Internet ist voll von Javascripts.. gerade deshalb wird das Suchen nach meinem spezifischen Problem etwas schwierig. Deshalb bin ich mal so frei und frage in meinem Lieblingsforum
.
Ich habe Eingabemasken die mir hinzufügen, löschen und editieren erlauben. Um einen existierenden Eintrag zu löschen/editieren, kann man nach existierenden Einträgen suchen um diese zu laden. Dieses Suchfenster öffnet in einem seperaten Fenster, baut sich dynamisch zusammen und gibt die Werte via window.opener.(...) zurück an die ursprüngliche Maske.
Mein Problem:
Eine Suche kann n Datensätze zurückliefern, von denen man einen (1) in die Maske zurückladen kann. Ein Datensatz besteht aus m Attributen. Jedes Attribut ist gleich benannt, wie das Textfeld auf der Eingabemaske.
Ich will nun eine generische Funktion schreiben, welche die Datensatznummer entgegen nimmt und von dem Datensatz alle Attribute in die Eingabemaske zurückschreibt und das Suchfenster schliesst.
Das Problem, mit welchem ich mich aktuell herumschlage ist, wie ich die Daten in der Suchmaske am besten für Javascript bereitstelle, so, dass ich:
1. Den Datensatz identifizieren kann (-> Array)
2. Das Attribut identifizieren kann
3. Den Wert habe
Ich müsste also so eine Struktur erstellen:
value[datensatz][attribut] = wert
Meine Funktion wäre anschliessend (Pseudocode):
Eine Lösung wäre jetzt, in Javascript dynamisch den Array durch PHP erstellen zu lassen. So ala:
Da ich den Inhalt aber sowieso in einer Tabelle anzeige, wäre es schöner, wenn ich direkt auf die HTML-Felder zugreifen könnte (mit getElementsByName o.ä.). Ich kenne das mit Input-Feldern bei denen man auf ".value" zugreifen kann - aber mit "<td>" und "<div>" scheint dies nicht zu klappen. Input-Felder - finde ich - eignen sich aber nicht unbedingt für die Darstellung.
Hat jemand vielleicht eine absolut und total viel einfachere Lösung bzw. hat einen Vorschlag, wie ich am schlausten die Werte ablege um sie über HTML anzuzeigen und gleichzeitig mit einer javascript-Funktion dynamisch in die Eingabemaske zurückschreiben kann?
Gruess
Joel
P.S. boah viel Text -.-
Das Internet ist voll von Javascripts.. gerade deshalb wird das Suchen nach meinem spezifischen Problem etwas schwierig. Deshalb bin ich mal so frei und frage in meinem Lieblingsforum

Ich habe Eingabemasken die mir hinzufügen, löschen und editieren erlauben. Um einen existierenden Eintrag zu löschen/editieren, kann man nach existierenden Einträgen suchen um diese zu laden. Dieses Suchfenster öffnet in einem seperaten Fenster, baut sich dynamisch zusammen und gibt die Werte via window.opener.(...) zurück an die ursprüngliche Maske.
Mein Problem:
Eine Suche kann n Datensätze zurückliefern, von denen man einen (1) in die Maske zurückladen kann. Ein Datensatz besteht aus m Attributen. Jedes Attribut ist gleich benannt, wie das Textfeld auf der Eingabemaske.
Ich will nun eine generische Funktion schreiben, welche die Datensatznummer entgegen nimmt und von dem Datensatz alle Attribute in die Eingabemaske zurückschreibt und das Suchfenster schliesst.
Das Problem, mit welchem ich mich aktuell herumschlage ist, wie ich die Daten in der Suchmaske am besten für Javascript bereitstelle, so, dass ich:
1. Den Datensatz identifizieren kann (-> Array)
2. Das Attribut identifizieren kann
3. Den Wert habe
Ich müsste also so eine Struktur erstellen:
value[datensatz][attribut] = wert
Meine Funktion wäre anschliessend (Pseudocode):
Code:
function load(datensatz)
für jedes Datensatz-Attribut
gibt es auf der eingabemaske ein Element mit diesem Namen?
falls ja -> schreibe datensatz[attribut] in dieses element
falls nein -> gehe weiter in der schlaufe
wurden keine werte zurückgeschrieben?
falls ja -> bringe alert-Meldung
falls nein -> schliesse fenster
Eine Lösung wäre jetzt, in Javascript dynamisch den Array durch PHP erstellen zu lassen. So ala:
Code:
<script type="text/javascript">
var $data[0][user_id] = '0';
var $data[0][user_name] = 'joel';
var $data[1][user_id] = '1';
var $data[1][user_name] = 'klaus';
</script>
Da ich den Inhalt aber sowieso in einer Tabelle anzeige, wäre es schöner, wenn ich direkt auf die HTML-Felder zugreifen könnte (mit getElementsByName o.ä.). Ich kenne das mit Input-Feldern bei denen man auf ".value" zugreifen kann - aber mit "<td>" und "<div>" scheint dies nicht zu klappen. Input-Felder - finde ich - eignen sich aber nicht unbedingt für die Darstellung.
Hat jemand vielleicht eine absolut und total viel einfachere Lösung bzw. hat einen Vorschlag, wie ich am schlausten die Werte ablege um sie über HTML anzuzeigen und gleichzeitig mit einer javascript-Funktion dynamisch in die Eingabemaske zurückschreiben kann?

Gruess
Joel
P.S. boah viel Text -.-