"We are back" « oc.at

Dynamische Listboxes

alexsb 29.04.2002 - 09:51 761 9
Posts

alexsb

hmm
Avatar
Registered: Jun 2001
Location: near Graz
Posts: 1566
Hi
Ich mache gerade eine PHP Seite auf der man häufig mit listboxws auswählen muss.
Beispiel: Listbox 1 hat die Einträge a und b
Wenn ich a auswähle soll Listbox 2 auftauchen und optionen c und d zur Verfügung stellen
Wenn ich a auswähle soll Listbox 2 auftauchen und optionen e und f zur Verfügung stellen.

Das hab ich schon und funktioniert auch wunderbar.

Ich bräuchte allerdings einen Auto Update Event, also einen der mir den Submit Button ersetzt, denn bisher muß ich nach der Auswahl immer einen Submit Button drücken!

Gibt es da eine Möglichkeit?

Guest

Deleted User
Registered: n/a
Location:
Posts: n/a
yep. read this: http://selfhtml.teamone.de/javascri...er.htm#onselect

edit:

ups, sorry, verschaut - eher wird bei dir das http://selfhtml.teamone.de/javascri...er.htm#onchange "onchange" element passen. damit kannst du eine javascriptfunktion aufrufen, die entweder die seite mit einem parameter reloadet oder auch ganz andere sachen macht :)

alexsb

hmm
Avatar
Registered: Jun 2001
Location: near Graz
Posts: 1566
Danke einmal, das haut ganz gut hin, aber da ich ein JavaScript newbie bin weiß ich jetzt nicht wie ich eine Funktion schreibe die eine Seite aufruft und wie ich parameter übergebe!
Kann mir das jemand kurz zeigen?

bBU.CyTrobIc

#include "billrulz.h"
Avatar
Registered: Oct 2000
Location: Hamburg
Posts: 1875
kannst es auch mit nem <meta refresh> machen,
allerdings musst du dann die variablen speichern,
weil er sonst immer wieder den default wert nimmt.
bzw. du musst den ausgewählten wert als default
setzen und mit $PHP_SELF refreshen.

mfg cy

Vir@s

Code Monkey
Registered: Nov 2000
Location: Wien
Posts: 730
Zitat von alexsb
Danke einmal, das haut ganz gut hin, aber da ich ein JavaScript newbie bin weiß ich jetzt nicht wie ich eine Funktion schreibe die eine Seite aufruft und wie ich parameter übergebe!
Kann mir das jemand kurz zeigen?

also z.B.:

Code:
function refresh(url) {
	url = url + "parameter";
	window.location = url;
}

Natürlich musst du "parameter" noch durch die passenden Parameter ersetzten (also was du dem Php script übergeben willst.

Mfg, Vir@s

alexsb

hmm
Avatar
Registered: Jun 2001
Location: near Graz
Posts: 1566
Also irgendwie shäm ich mich ja zu fragen:confused: aber wie übergieb ich die Variablen genau? in PHP Form, oder a la html, sorry, hab wirklich null plan von JavaScript!

Vir@s

Code Monkey
Registered: Nov 2000
Location: Wien
Posts: 730
Kein Problem :)

Code:
<HTML>
<HEAD>
<SCRIPT langauge='JavaScript'>

function refresh(url) {
	url = url + "?" + document.aform.something.value;
	window.location = url;
}
</SCRIPT>

</HEAD>
<BODY>

<FORM name='aform'>
<SELECT name='something' size='6' onChange="refresh('http://www.yourpage.com/script.php')">
<OPTION value='test'>Test 1</OPTION>
<OPTION value='hello'>Hello</OPTION>
</SELECT>
<BR>
<INPUT type='submit' onClick="refresh('http://www.yourpage.com/script.php')">
</FORM>

</BODY>
</HTML>

Des Ding macht nix anderes, als das es bei einer Veränderung des select statements die function refresh aufruft. Die function stellt fest welcher eintrag gerade selectiert ist und refresht dann das browser fenster :)

Hf, Vir@s

alexsb

hmm
Avatar
Registered: Jun 2001
Location: near Graz
Posts: 1566
also das ist mir jetzt einigermaßen klar, außer das

url = url + "?" + document.aform.something.value;
window.location = url

Wenn ich jetzt den parameter new=1 übergeben möchte, wie mache ich das?:rolleyes:

Vir@s

Code Monkey
Registered: Nov 2000
Location: Wien
Posts: 730
also in url steckt die URL zum script / der Seite das/die du Aufrufen willst.

document.aform.something.value greift lediglich auf das gerade selektierte Element in der ListBox something in der form aform zu.

Wenn du eine Listbox hast, wo der Eintrag 1 vorkommt dann machst du das so:

url = url + "?new=" + document.aform.somthing.value;

Mit der Zeile baue ich einfach nur den query für den Browser bzw Server auf.

mit window.location = url; setzt du den Browser einfach nur auf die Adresse.

Hoffe jetzt is alle klar!

Mfg, Vir@s

alexsb

hmm
Avatar
Registered: Jun 2001
Location: near Graz
Posts: 1566
Jetzt ist alles klar! Danke für die Geduld!
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz