Eine Select-Box -> 2 Variablen?!

alexanderneipp

Mitglied
Hallo allerseits!
Hab mit Hilfe des Forums hier (nochmal VIELEN DANK!) folgendes realisieren können:

Mit Hilfe dieses Scripts:
PHP:
<script type="text/javascript">
	function content_change(){
		var f = document.CONTENT_FORM;
		if (f.CONTENT.value != ""){
			window.location.href = "driver.php?content="+f.CONTENT.value;
		}
	}
</script>
wird aus dieser Select-Box
PHP:
				        <form name="CONTENT_FORM">
				<select name="CONTENT" onchange="content_change()" class="select">
									<option value="liebe">Liebe</option>
									<option value="freunde">Freunde</option>
									<option value="angst">Angst</option>
									<option value="zukunft">Zukunft</option>
									<option value="" selected></option>
									<option value="was">Was ist ev²</option>
									<option value="warum">Warum ev²</option>
									<option value="wer">Wer steht hinter ev²</option>
									<input type="hidden" name="content" value="">

		</select></form>
eine Variable an folgendes Script weitergegeben und dann die entsprechende Datei includet
PHP:
<?php
    		if(!$news) include("data/news.inc");
   		else  include("data/".$content.".inc");
								?>
Eiegntlich recht simpel...!

Was ich nun aber brauch ist praktisch Level 2 dieser Sache:
Es sollte so sein, dass aus einer Selectbox zwei Gruppen von Variablen vergeben werden können. Einmal für die Variable "Content" (Liebe, Zukunft... in der Selectbox) und einmal die Variable "Infos" (Wer, was, wie in der Selectbox).
Dabei soll immer nur die ausgewählte Variable geändert werden und die andere beibehalten werden. Hoffe ihr versteht was ich mein!

Kann mir da jemand helfen?
Bei fragen auch ruhig ICQ oder so...!

THANX!
 
Dazu müsstest du per JavaScript weiterhin abfragen, welche der Feldgruppen geklickt wurde und dann trennen.

Hier macht sich die Eigenschaft selectedIndex eines <select>-Elementes ganz gut, denn damit wüßtest du, welche Feldnummer geklickt wurde.
PHP:
<script type="text/javascript" language="JavaScript">
<!--

function content_change() {
    var f = document.CONTENT_FORM;
    if (f.CONTENT.value != "") {
        if (f.CONTENT.selectedIndex < 4) {
            window.location.href = "driver.php?content=" + f.CONTENT.value + "&infos=standard";
        } else if (f.CONTENT.selectedIndex > 4) {
            window.location.href = "driver.php?content=standard" + "&infos=" + f.CONTENT.value;
        }
    }
}

//-->
</script>
hth,
Geist
 
Super, vielen Dank!
Nur eine kleine Änderung ist da noch nötig, die ich nicht packe.
Jetzt wird, immer wenn ich ein Item aus Gruppe 2 auswähl in Gruppe 1 Standart gesetzt und anders herum.

Was ich aber bräuchte: dass sich die jeweilig nicht betroffene Variable nicht ändert sondern so bleibt wie sie war!

Bekomm ich das irgendwie hin?
 
Und was bestimmt den Wert der nicht betroffenen Variable?
Wo wird diese initiiert?

Versteh so leider nicht, was du wissen willst.

Die nicht betroffene Variable ändert sich ja nicht, sondern es wird jeweils immer ein Standard-Wert in der Variable gesetzt, diesen Standard-Wert müsstest *du* festlegen, da weiß ich ja nicht, wie der aussehen soll.

Also wenn du mir dein Problem näher beschreiben kannst, helf' ich dir gern' noch weiter...

Geist
 
Also zu Begin sind beide Variablen praktisch ohne Wert.
Im PHP Script, dass den Inhalt includet siehst du, dass dann eine bestimmt (festgelegte) Datei includet wird.

So bald ich nun klicke ändert sich die betroffene Variable zu dem Wert und die zweite wird Standart. Was ich aber will ist, dass die zweite dann leer bleibt. Eben so, wie sie vor dem Klicken war. Wenn davor ein Wert in der Variablen stand und nicht durch einen neuen ersetzt wird, dann soll der gleiche Inhalt wie vor dem klicken übertragen werden.

Es erfolgt praktisch nur eine Änderung der Variablen, wenn ein neuer Wert der betroffenen Variablen kommt. Ansonsten wird der alte Wert beibehalten. Und genau dieses Beibehalten fehlt mir im Moment.

Klarer geworden?
 
Hast du dich schonmal mit dem Auslesen des Wertes einer Variablen in JavaScript beschäftigt?
Das macht nicht mehr Arbeit als in PHP und sollte lernbar sein. :)

Teste, ob die Variable gesetzt ist.
Ist das der Fall, dann hänge diesen Wert an's Ende deines query-Strings, ansonsten übergib die Variable gar nicht erst.

hth,
Geist
 
Nun, dann muss ich an dieser Stelle wohl das Handtuch werfen.
Komm weniger von der Programmiererseite sondern mehr vom Design her...
Das überstiegt dann eindeutig meinen Rahmen, sei es zeitlich oder vielleicht auch vom Horizont her!

Hab gedacht, wenns kein großer Act ist, dass du mir das kurz erzählen könntest. Aber klar: kann ich nicht von dir verlangen!

Danke auf jeden Fall mal bis hier her!!!!!!
 
Hab jetzt mal dran weiter gearbeitet und ne Lösung gefunden; eigentlich ganz einfach...

PHP:
<script type="text/javascript" language="JavaScript">
<!--

function content_change() {
    var f = document.CONTENT_FORM;
    if (f.CONTENT.value != "") {
        if (f.CONTENT.selectedIndex < 4) {
            window.location.href = "driver.php?content=" + f.CONTENT.value + "&infos=<?php echo $infos; ?>";
        } else if (f.CONTENT.selectedIndex > 4) {
            window.location.href = "driver.php?content=<?php echo $content; ?>" + "&infos=" + f.CONTENT.value;
        }
    }
}

//-->
</script>
 
Zurück