Per Dropdown Textfelder aktualisieren
Christopher Arthur
- php
0 Rouven0 Christopher0 Rouven0 Christopher0 Rouven
Hallo,
ich bin mir zwar nicht ganz sicher aber ich denke PHP ist nicht die Lösung meines Problems, aber das Problem in einem PHP Skript entstanden ist denke ich es passt ganz gut in diese Kategorie.
Ich habe eine Seite in der ein Dropdown Feld und 3 Textfelder sind die über eine DB gefüttert werden.
Nun hätte ich aber gerne, dass sich die betreffenden Textfelder ändern wenn innerhalb des Dropdown Feldes ein anderer Eintrag ausgesucht wird.
Ist dies mit PHP möglich oder ist das eher Java ?? Wenn Java braucht ich da grad mal ein wenig mehr Hilfe.
MFG
Christopher
Hello,
Ist dies mit PHP möglich oder ist das eher Java ?? Wenn Java braucht ich da grad mal ein wenig mehr Hilfe.
die Antwort dürfte sowohl als auch (mit Einschränkungen) lauten.
PHP:
Eine Lösung mittels PHP bringt, technisch bedingt, einen Roundtrip über den Server mit sich. D.h. man würde bei der Auswahl eines Eintrags aus der Dropdown-Liste das Formular abschicken, auf dem Server den Wert auslesen, das Textfeld in der Ergebnisseite anlegen und dort den Wert eintragen. Der Benutzer erhält eine völlig neu geladene Seite, wo der Wert drin steht. Warum bringt diese Lösung nichts? Entweder muss der Benutzer auf einen "Aktualisieren"-Submit-Button klicken damit das Formular abgeschickt und die Dropdown ausgewertet werden kann, oder du brauchst JavaScript um auf die Auswahländerung zu reagieren - nun ja, und wenn du eh schon bei JavaScript bist, warum dann den Server bemühen.
Java:
Java ist nicht JavaScript, beide teilen sich hauptsächlich den Namen.
2neu) JavaScript:
Du benötigst grob gesagt:
onchange für die Select-Felder um auf eine geänderte Auswahl zu reagieren.
_Beispielsweise_ document.getElementById um gezielt auf ein Textfeld zuzugreifen
Die .value-Eigenschaft des Textfeldes um den Inhalt zu verändern.
Ganz generell aber die Frage: Woher soll denn der/die geänderten Werte kommen? Das würde einen weiteren Ausschlag geben, ob nicht doch vielleicht der Server beteiligt werden muss.
MfG
Rouven
_Beispielsweise_ document.getElementById um gezielt auf ein Textfeld zuzugreifen
Die .value-Eigenschaft des Textfeldes um den Inhalt zu verändern.
Hier brächte ich am Ende mal ein Beispiel wie das gehen könnte. Funktionierender Code den ich dann weiter anpasse. Da ich zu wenig Ahnung von Java Skript habe.
Ganz generell aber die Frage: Woher soll denn der/die geänderten Werte kommen? Das würde einen weiteren Ausschlag geben, ob nicht doch vielleicht der Server beteiligt werden muss.
Der Grundgedanke ist folgendes via PHP soll in einem DropdownFeld der Inhalt einer Tabelle aus SQL eingetragen werden. Wenn ich nun in diesem Dropdownfeld etwas auswähle sollen die weiteren Daten die in der sql Tabelle stehen in einzelne Textfelder kommen.
Hello,
Der Grundgedanke ist folgendes via PHP soll in einem DropdownFeld der Inhalt einer Tabelle aus SQL eingetragen werden. Wenn ich nun in diesem Dropdownfeld etwas auswähle sollen die weiteren Daten die in der sql Tabelle stehen in einzelne Textfelder kommen.
ahhhhhso, und da ist der Hund zumindest mal mit zwei Beinen im Grab. Du musst dich gewissermaßen entscheiden, ob du _alle_ Daten beim einmaligen Laden der Seite an den Nutzer schickst, oder nur die, die gerade angezeigt werden. Im ersten Fall kannst du rein mit JavaScript aus dem vollen Schöpfen und die Werte nachtragen. Im zweiten Fall hast du natürlich weitaus weniger sinnlose Daten durch die Welt geschickt, musst aber das aktuell benötigte vom Server holen. Ich würde mit dem jetzigen Wissen doch für eine Lösung plädieren, die den Server mit einbezieht. Eine Sache, die sich allerdings anbietet ist die Nutzung von AJAX, womit es möglich wird Daten vom Server nachzuladen ohne dass der Nutzer das Formular verlässt und seine Eingaben verliert. Allerdings könnte dies aufwändig werden, falls du überhaupt keine Ahnung von JavaScript hast.
Möchtest du dich erstmal auf die einfache Variante beschränken, dann füge deinem Select folgenden Code hinzu:
onchange="this.form.submit();"
Im Ergebnis wird nun bei Änderung der Auswahl dein Formular abgeschickt. Dein PHP-Skript (beherrst du eigentlich PHP?) kann nun die aktuelle Auswahl der Dropdown auslesen und entsprechend die Textfelder vorbereiten.
MfG
Rouven
Im Ergebnis wird nun bei Änderung der Auswahl dein Formular abgeschickt. Dein PHP-Skript (beherrst du eigentlich PHP?) kann nun die aktuelle Auswahl der Dropdown auslesen und entsprechend die Textfelder vorbereiten.
Ich denke dies wird erstmal die Übergangslösung !!
ich habe in diesem Semester PHP, Java, SQL usw. übergebraten bekommen. In PHP und MYSQL kam ich schnell rein aber JAVA bzw. Java Skript raff ich irgendwie net.
Die Geschichte mit AJAX klingt auch sehr interessant. Wäre ganz nett wenn du mal ein paar Stichwörter für mich hast, die mich speziell auf mein Problem in Sachen AJAX einschießen.
Besten dank für die Antwort erstmal. Versuch mich da morgen mal dran,...
Hello,
Die Geschichte mit AJAX klingt auch sehr interessant. Wäre ganz nett wenn du mal ein paar Stichwörter für mich hast, die mich speziell auf mein Problem in Sachen AJAX einschießen.
Besondere Stichwörter gibts da keine. Du nimmst dir "einfach" das Request-Objekt und liest per JavaScript deine aktuelle Auswahl aus. Nun forderst du mit dem Request Objekt eine Antwort von einem Serverskript, z.B. PHP, an:
http://www.example.com/get_details?aktuelleauswahl=abc
Das PHP Skript greift die notwendigen Daten ab und schickt ein XML-Dokument zurück:
<result>
<wert1>A</wert1>
<wert2>B</wert2>
</result>
Dein JavaScript fängt dieses XML-Ergebnis auf und arbeitet es mittels entsprechender DOM-Methoden in das Dokument ein.
Ein Beispiel dafür gibts mittlerweile an vielen Stellen (da kann man sich die clientseitigen Schritte anschauen):
Google Suggest
Ich meine Wikipedia hat sowas auch, ich finds aber gerade nicht.
MfG
Rouven