Guten Morgen!
ich mache meine ersten Versuche mit CGI-Skripten in Perl. Die ersten einfachen Beispiele habe ich mittlerweile verstanden.
Jetzt habe ich aber ein etwas diffizileres Problem. Ich habe ein Formular mit einer Listbox (SELECT), in der eine Reihe von Namen enthalten sind, und einigen Texteingabefeldern. Wenn der Benutzer einen Namen anklickt, soll ein CGI-Skript aufgerufen werden, das zu dem Namen die Adresse aus einer MySQL-Datenbank liest und in die Textfelder schreibt. Der Aufruf des CGI-Skripts hängt am "onchange"-Event der Listbox: <select name="Benutzer" class="Auswahl" size="14" onchange="self.location.href='/cgi-bin/efg/loaduser.pl'">
Hierzu habe ich folgende Fragen: 1. Wie übergebe ich bei obiger Vorgehensweise den angeklickten Eintrag an das CGI-Skript? 2. Wie kann ich aus dem Perl-Skript heraus die Daten in die Texteingabefelder meines HTML-Formulars schreiben?
Letzteres ist einfach zu beantworten: Dein Perl-Script erzeugt den HTML-Code, den der Browser darstellt. D.H. Du erzeugst auch das Formular und kannst beliebig dessen Feldern Werte geben, indem Du einfach bei der Ausgabe entsprechendes schreibst. Erstere Frage ist etwas umstaendlicher. Am besten, Du holst Dir mal SelfHTML (http://www.teamone.de/projekte/selfhtml.htm) und machst Dich etwas mit Javascript vertraut. In etwa: Das Formular existiert als Javascript-Objekt. Und ueber dieses Objekt hast Du Zugriff auf die Elemente des Formulares, kannst dort Werte lesen oder setzen. Alternativ kannst Du, statt die location zu aendern, die submit()- Funktion des Formulars per Javascript aufrufen. Dann brauchst Du die werte nicht selbst zusammenzusuchen. Noch besser: Mach einen ordentlichen Submit-Button rein und verzichte auf das automatische Abschicken beim onchance. Das mag Dir cool vorkommen, aber sowas ist eher fuer die Jugend-Seite der Kreissparkasse geeignet als fuer eine serioese Website. Bye BTW: Wenn Du noch umsteigen kannst, dann wechsle von Perl zu PHP. Das kann im CGI-Bereich alles, was Perl kann und ist um Laengen einfacher. Und traure nicht Deinem halben Perl-Script hinterher. Du wirst die Zeit schnell wieder reingeholt haben und dann umso schneller vorankommen. -- 1 Bodo Kaelberer 123 http://www.webkind.de/ 3 4 "A button I have made must be pushed." (ip)