Wertübergabe zwischen 2 Fenstern
Tim
- asp.net
Hallo Leute !
Ich hab hier im Forum folgende Seite gefunden:
http://www.teamone.de/selfaktuell/wertueb.htm
Ist ja auch ganz nett, jedoch weiß ich nicht wie
ich dieses auf mein Problem anwenden kann.
Ich habe hier ein Intranet mit IIS 4.0 + Access.
Nun hab ich ein Formular gestrickt wo man am Anfang
entweder die Kundennummer oder den Kundennamen eingeben
muß.
Ich habe mir nun folgendes gedacht, wenn das Formular
aufgeht dann öffnet sich gleichzeitig ein 2.Fenster(Suchfenster) wo man die Kundennr. bzw. Kundennamen
eingeben soll, sobald man dies getan hat kommt eine
Übersichtsliste, neben jeden Datensatz ist ein Button "ÜBERNEHMEN" sobald dieser gedrückt wird soll
die Kundennummer und Kundenname ins Formularfenster übernommen werden und das 2.Fenster soll sich schliessen.
Kann mir jemand bei diesem Problem helfen ?
Wäre furchtbar nett, weil ich sonst nicht weiter komme, oder kennt jemand eine andere Lösungmöglichkeit.
Vielen Dank im voraus.
Gruss
Tim
Ich habe mir nun folgendes gedacht, wenn das Formular
aufgeht dann öffnet sich gleichzeitig ein 2.Fenster(Suchfenster) wo man die Kundennr. bzw. Kundennamen
eingeben soll, sobald man dies getan hat kommt eine
Übersichtsliste, neben jeden Datensatz ist ein Button "ÜBERNEHMEN" sobald dieser gedrückt wird soll
die Kundennummer und Kundenname ins Formularfenster übernommen werden und das 2.Fenster soll sich schliessen.
Hallo Tim,
Du könntest doch jedem dieser Button sagen, er soll die Formularfelder im Formular mit den entsprechenden daten füllen. Es ist natürlich kein Automatismus, da du jeden Kunden-Übernehmen-Button schreiben mußt, aber auch das läßt sich durch ein geegnetes Script umgehen.
Lösungsansatz:
<input type=button value="Übernehmen" onClick="parent.NAME DES FORMULARFENSTERS.NAME DES FORMULARS.KUNDENNAME.value='Herr meier'; parent.NAME DES FORMULARFENSTERS.FORMULAR.KUNDENNUMMER.value='0815'">
Falls Du noch verschiedene Layer definiert hast mußt Du diese mit in den Zielverweis einbringen.
Ich hoffe, das hilft Dir ein wenig weiter.
Nico
Hallo Tim,
Du könntest doch jedem dieser Button sagen, er soll die Formularfelder im Formular mit den entsprechenden daten füllen. Es ist natürlich kein Automatismus, da du jeden Kunden-Übernehmen-Button schreiben mußt, aber auch das läßt sich durch ein geegnetes Script umgehen.
Lösungsansatz:
<input type=button value="Übernehmen" onClick="parent.NAME DES FORMULARFENSTERS.NAME DES FORMULARS.KUNDENNAME.value='Herr meier'; parent.NAME DES FORMULARFENSTERS.FORMULAR.KUNDENNUMMER.value='0815'">
Falls Du noch verschiedene Layer definiert hast mußt Du diese mit in den Zielverweis einbringen.
Ich hoffe, das hilft Dir ein wenig weiter.
Nico
Hi !
Danke für die schnelle Antwort !
Wie bekomme ich den Namen des FORMULARFENSTER raus ???
bzw. wie kann ich den definieren !
thx
Tim
Hallo Tim
Wie bekomme ich den Namen des FORMULARFENSTER raus ???
bzw. wie kann ich den definieren !
Den definierst Du im Frameset-Dokument in <frame href="formular.html" name="Formularfenster">.
Falls Du nicht mit einem Frameset arbeitest, sondern das Formular das "Hauptfenster" des Browsers ausfüllst, dann sprichst Du das Fenster in JavaScript über "top" an.
Also über "top.FORMULAR.FELD.value".
Da Du jedoch das 2. Fenster mit einem Skript aus dem 1. (Haupt-)Fenster öffnest, steht Dir die Objektreferenz "opener" zur Verfügung. Damit referenzierst Du das Fensterobjekt aus dem Du das 2. Fenster geöffnet hast. Fülle also die Fromularfelder so aus: "opener.FORMULAR.FELD.value="irgendwas".
Die Referenz "parent" referenziert hier jedoch auf das hierarchisch übergeordnete Fensterobjekt, was in der Regel nur in geschachtelten Framesets vorkommt. Im einfachen Frameset weist die Referenz "top" auf das gleiche Fensterobjekt wie "parent".
Anmerkung:
Falls der Benutzer über den Code (View-Source etc.) jedoch nicht Einsicht in alle Kundennummern oder sonstigen Informationen haben soll, dann kannst Du die Auswahl des Benutzers im 2. Fenster an den Server senden, dort über ASP (oder Perl, PHP, ...) verarbeiten und das Ergebnis, also ein vorgefülltes Formular, zum Brwoser ins 1. Hauptfenster senden. Dazu gibst Du im 2. Fenster im Formtag das Attribut "target" ein:
<form action="http://www.deinserver.de/cgi-bin/serverscript.asp" method="post" target="Formularfenster".
Im Hauptfenster musst Du dann jedoch den Fensternamen "Formularfenster" deinieren. Entweder über das name-Attribut im Frame-Tag oder über Javascript in der Formulardatei im Stil :
self.name = "Formularfenster";
Dies ist jedoch nicht getestet und vielleicht fällt jemandem hier noch was besseres ein.
Grüsse
Tom