Archiv verlassen und diese Seite im Standarddesign anzeigen : [Funktion] Formular mit auswahl
Hi,
Ich habe ettliche Javascript Foren durchleuchtet usw..
und habe aber nicht wirklich das gefunden was ich suche, außerdem möchte ich JS als letzte Lösung sehen dafür, weil meistens ist alles was man macht auch mit PHP lösbar, nur halt etwas umständlicher.
Mein Problem:
Ich habe mehrere Spiele Teams, die natürlich dementsprechend auch ihre gespielten Matches eintragen,
Dafür brauche ich folgendes:
Mein auswahl Fenster der Teams natürlich aus der DB gerufen,
und wenn man das team dann auswählt, soll daneben ein weiteres auswahlfenster sein, was sich der auswahl davor angepasst hat,
Sprich
1.st Feld [Team Counterstrike] und im 2. Feld [counter.maps.php]
diese counter.maps.php beinhaltet dann halt die ganzen select felder von den maps die man bei CS spielt.
Um nochmal zu erklären damits auch jeder versteht:
1. Fels auswahl des Teams und im 2.Feld dann die dementsprechenden Maps.
Ist das realisierbar mit irgendwas ?
mit js leicht zu realisieren.
allerdings auch mit php. nur, dass du dann noch eine interaktion nach der auswahl machen must. sprich, das formular abschicken und die auswahl verarbeiten.
"onthefly" gehts definitiv nur mit js.
hm ok, onthefly sollte es schon sein, sonst ist das ja witzlos..
hat denn wer nen JS parat was man dafür nutzen kann ? habe da nix sinnvolles bisher gefunden.
Ich persönlich bin nicht so der java pro.. habe aber das hier gefunden, nur funktionieren tut das einfach nicht..
Weiss nicht einmal ob ich das dafür wirklich nutzen kann.
hier der quellcode:
<form name="doublecombo">
<p><select name="example" size="1" onChange="redirect(this.options.selectedIndex)">
<option>Starke Seiten</option>
<option>Tolle Seiten</option>
<option>Such Seiten</option>
</select>
<select name="stage2" size="1">
<option value="index.php3?opencat=Gästebuch">Gästebuch</option>
<option value="index.php3?opencat=Impressum">Impressum</option>
</select>
<input type="button" name="test" value="Go!" onClick="go()"></p>
<script>
<!--
//Dieses Skript stammt von Michael Mailer´s JavaScripts
//URL: http://www.webaid.de/js -- eMail: mm@webaid.de
//Bitte entfernen Sie diesen Vermerk nicht !
var groups=document.doublecombo.example.options.length
var group=new Array(groups)
for (i=0; i<groups; i++)
group[i]=new Array()
group[0][0]=new Option("Gästebuch","index.php3?opencat=Gästebuch")
group[0][1]=new Option("Impressum","index.php3?opencat=Impressum")
//group[0][2]=new Option("HotBot","http://www.hotbot.com")
group[1][0]=new Option("webAID","http://www.webaid.de")
group[1][1]=new Option("con.firm","http://www.jswelt.de")
group[2][0]=new Option("Hotbot","http://www.hotbot.com")
group[2][1]=new Option("Infoseek","http://www.infoseek.com")
group[2][2]=new Option("Excite","http://www.excite.com")
group[2][3]=new Option("Lycos","http://www.lycos.com")
var temp=document.doublecombo.stage2
function redirect(x){
for (m=temp.options.length-1;m>0;m--)
temp.options[m]=null
for (i=0;i<group[x].length;i++){
temp.options[i]=new Option(group[x][i].text,group[x][i].value)
}
temp.options[0].selected=true
}
function go(){
location=temp.options[temp.selectedIndex].value
}
//-->
</script>
</form>
"dynamisches dropdown" heißt das stichwort ;)
bei drweb is n ganz brauchbarer artikel dazu:
Dr. Web Artikel zu Dynamischen Drops (http://www.drweb.de/javascript/dynamische_dropdown_menues.shtml)
nur funktionieren tut das einfach nicht
doch das script funktioniert wunderbar :)
du musst einfach den folgenden javascript-code per php generieren:
group[0][0]=new Option("Gästebuch","index.php3?opencat=Gästebuch")
group[0][1]=new Option("Impressum","index.php3?opencat=Impressum")
//group[0][2]=new Option("HotBot","http://www.hotbot.com")
group[1][0]=new Option("webAID","http://www.webaid.de")
group[1][1]=new Option("con.firm","http://www.jswelt.de")
group[2][0]=new Option("Hotbot","http://www.hotbot.com")
group[2][1]=new Option("Infoseek","http://www.infoseek.com")
group[2][2]=new Option("Excite","http://www.excite.com")
group[2][3]=new Option("Lycos","http://www.lycos.com")
Counterstrike
lässt jetzt schon schlimmes befürchten :)
gruß
peter
ich kann dem gerade überhaupt nicht folgen.. entweder ist das mal wieder einer dieser tage wo ich total aufm schlauch stehe.. oder ich bin einfach zu doof dafür..
ich habe mal geguckt, der script ersteller hat das als kommentar dadrunter geschrieben :
Ich muß mich da korrigieren!!!
Selbstverständlich werden die Values übergeben. Man sollte halt die Werte auch definieren. :-)
group[1][0]=new Option("Option","wert")
Das nach dem Komma ist der Wert. So wird es auch übergeben!!!
---------
Was soll ich da nun also genaues machen ?
Kann mir einer mal den code so schreiben wie ich den "nützlich" einfügen kann ? weil ich rall einfach nicht wo ich da was korregieren soll..
P.S.
Das mir Counterstrike war nur n Beispiel ;) so schlimm ist es nun auch wieder nicht ^^
Original geschrieben von Kyrane
Kann mir einer mal den code so schreiben wie ich den "nützlich" einfügen kann ? weil ich rall einfach nicht wo ich da was korregieren soll..
soll in "jobs" verschoben werden?? :D
ne lass mal ;)
also, ich habe das was du verlinkt hast eingebaut, das funktioniert auch einwandfrei,
nur möchte ich als auswahl die teams aus der datenbank haben und dann wenn die ausgewählt sind nicht den vorgegebenen text aus der JS
sondern die maps.cs.php
{
unterkategorieAuswahl.options[0] = new Option("/php/maps.cs.php");
unterkategorieAuswahl.options[1] = new Option("/php/maps.wc3.php");
}
geht das so ? oder mach ich da was falsch bei JS ? mit nem php include gehts ja nicht, habs schon getestet..
nein, du musst die new options dynamisch aus deiner db erstellen und das IM js aber als php.... ;)
datenbank query absetzen und in php sowas wie
$x = 0;
while ($meineoptions = mysql_fetch_array($meinquery))
{
echo "unterkategorieAuswahl.options[".$x."] = new Option(\"".$meineoptions['maps']."\")";
$x++
}
das is natürlich nur beispielhaft - um dir zu verdeutlichen, wie du rangehen musst...
Habs nun so gemacht, wenn mir nun einer sagen kann wie ich noch ne php datei includen kann per java dann bin ich glücklich...
<select class="form" id="squad" name="team" onchange="update_auswahl()">
<option value="fun" selected>----</option>
<?php $sql="SELECT * FROM squads WHERE showme='all' ORDER BY name";
$data=mysql_query($sql);
while ($squad = mysql_fetch_object ($data)) { ?>
<?php print "<option value=\"$squad->id\">$squad->name</option>"; } ?>
</select>
<select name="map">
<option selected>Software</option>
<option>Anbieter</option>
</select>
script:
function update_auswahl()
{
var teamAuswahl = document.forms.theform666.team;
var mapAuswahl = document.forms.theform666.map;
mapAuswahl.options.length = 0; // DropDown Menü entleeren
if (teamAuswahl.options
[teamAuswahl.selectedIndex].
value == "3")
{
mapAuswahl.options[0] = new Option("Software");
mapAuswahl.options[1] = new Option("Anbieter");
}
else if (teamAuswahl.options
[teamAuswahl.selectedIndex].
value == "4")
{
mapAuswahl.options[0] = new Option("maps.inc.php");
mapAuswahl.options[1] = new Option("Webseiten erstellen");
}
}
Teams werden nun angezeigt und wenn man eins auswählt wo die teamid3 ist, dann zeigt er die software und anbieter option
und bei teamid4 zeigt er nun maps.inc.php und webseiten erstellen
das ist also soweit so richtig...
das was mir nun fehlt ist also nur noch das, das er mir da auch die maps.inc.php richtig öffnet und füllt anstatt nur den namen zu replyen
wie mach ich das ?
das er mir da auch die maps.inc.php richtig öffnet und füllt anstatt nur den namen zu replyen
mir füllts und replyts auch den ganzen Tag.
Weißt Du überhaupt was Du redest ?
onemorenerd 24-10-2007, 20:50 Java != Javascript :rolleyes:
Vom Client aus eine Resource vom Server laden geht mit einem HTTP-Request. Stichwort AJAX.
|
|