Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Beneroth

Alter Hase

  • »Beneroth« ist der Autor dieses Themas

Beiträge: 969

Wohnort: Schweiz

Beruf: Software Entwickler

  • Private Nachricht senden

1

15.02.2007, 23:19

JavaScriptPopUp: Wie Fenster mit Formulardaten aktualisieren

Der (lange) Titel sagts eigentlich schon:

Ich habe ein Formular (mit php dynamisch erstellt) und in diesem Formular eine ComboBox deren Einträge aus einer SQL-DB stammen.
Neben der ComboBox hats nen Button um weitere Einträge in diese Auswahl (und auch in die DB) einzutragen. Man klickt au ihn, ein PopUp geht auf wo man den neuen Eintrag machen und zum Server senden kann.

Nun sollte nachdem der neue Eintrag gemacht wurde das PopUp geschlossen werden und das Hauptfenster refresht so dass die neuen Einträge in der ComboBox ebenfalls zur Auswahl stehen.

Ich weiss wie ich das PopUp wieder schliessen lassen kann und von dort auch das Hauptfenster refreshen, allerdings bin ich mir nicht sicher ob dann auch immer die POST-Daten mitgesendet werden resp. es kommt dann ja jeweils so eienm Abfrage das POST-Daten da sind und ob wirklich gesendet werden soll.

Eine Lösung die ich mir überlegt habe schaut so aus dass beim Klick um das PopUp zu öffnen gleich alle POST-Daten/Formularfelder an das PopUp gesendet werden und dort als hidden-felder wieder drin steht so dass ich sie von dort aus dann an den Server schicken und einfach das Hauptfenster als Target angeben kann.

Wäre aber eine ziemlich umständliche Lösung und ich kenn mich nicht wirklich aus mit JavaScript drum: Weiss jemand vielleicht einen besseren/einfacheren Weg? :D

Chase

Alter Hase

Beiträge: 753

Wohnort: Nagaoka / Darmstadt / Düsseldorf

Beruf: fauler Studi

  • Private Nachricht senden

2

16.02.2007, 01:26

Ich glaube nicht, dass du hier sonderlich viele Web-Entwickler antreffen wirst.. ich hab auch keine Ahnung von sowas ;)
Nur fuers Verstaendnis:
Ich nehme an, dass der Button zum Oeffnen des PopUps nicht der "send"-button des Formulars ist (?), also werden die Werte aus den Formularfeldern nicht an das PopUp gesendet.
Ausserdem ist das Formular wohl mehrseitig - davor gab es schonmal eine Seite.. oder wo kommen sonst die POST-Daten her ?

Wie laedst du denn das Hauptfenster neu ?
Hauptfenster.location.reload() oder Hauptfenster.location.href = "formular.php"
Keine Ahnung aber vielleicht unterscheiden sich die beiden Methoden ja?
"Have you tried turning it off and on again?"

3

16.02.2007, 09:02

@Beneroth Was genau willst du eigentlich machen? Also welchen Zweck hat das Popup? Willst du nur die Möglichkeit geben "OK/Abbrechen" zu wählen oder etwas anderes?

Beneroth

Alter Hase

  • »Beneroth« ist der Autor dieses Themas

Beiträge: 969

Wohnort: Schweiz

Beruf: Software Entwickler

  • Private Nachricht senden

4

16.02.2007, 09:48

Das PopUp hat den Zweck einen neuen Eintrag in die DB zu machen der dann auch in der Auswahl von der ComboBox erscheint. (Abrechen kann man natürlich auch).

Und nein, der Button zum PopUp öffnen ist kein submit-Button. Es wäre aber ein Weg der gehen würde, meine Frage war ob jemand etwas besseres weiss :)

location.reload() kannte ich nicht, habe kurz gesucht aber so wie es aussieht unterscheiden die sich nicht resp. bei location.href="" könnte man auch zu einer anderen Datei weiterleiten.

Mein Propblem ist dass das Hauptfenster ein halb ausgefülltes Formular enthält das man nicht einfach so refreshen kann (Man kann schon, aber dann sind die bisherigen Eingaben futsch).

Dann werd ich mal all die bisherigen Eingaben zum PopUp rüberschaufeln lassen: Wenn der User im PopUp keine neue Einträge macht passiert nix was ok ist, wenn er im PopUp absendet kann ich die Daten übernehmen und die ganze Seite neu ans Hauptfenster schicken.

Danke für die Bemühungen! :)
(Ich finde Web-Entwicklung auch sowas von nervig...man schreibt soviel und es bewegt sich nie was... ;) )

Edit:

Zitat

aber ein Weg der gehen würde

:? Nö, das geht doch nicht...kann ja nicht gleichzeitig senden und PopUp öffnen...

Chase

Alter Hase

Beiträge: 753

Wohnort: Nagaoka / Darmstadt / Düsseldorf

Beruf: fauler Studi

  • Private Nachricht senden

5

16.02.2007, 10:31

Du refresht doch nur damit die neuen Eintrage vorhanden sind. Verlass dich doch blind auf deine Datenbank und fuege den Eintrag per JavaScript in die ComboBox hinzu!
"Have you tried turning it off and on again?"

Beneroth

Alter Hase

  • »Beneroth« ist der Autor dieses Themas

Beiträge: 969

Wohnort: Schweiz

Beruf: Software Entwickler

  • Private Nachricht senden

6

16.02.2007, 10:36

Jop, hab diesen Weg eben von nem Kollegen per Chat erklärt bekommen :D
Wusste net das das geht, vielen Dank :lol:

Jetzt kanns weitergehen :D

Werbeanzeige