[HTML] Drop-Down Menü mit Links

MarcDK

Banned
Dabei seit
Mai 2001
Beiträge
3.560
Hi Leute!

Ich will etwas ganz einfach machen:

Bei einem Dropdownmenü ( also <form...<select ... ) soll bei Auswahl eines Elementes eine URL oben in der Leiste aufgerufer und angeziegt werden.

Das Problem im Moment ist, dass man ja per "post" die Daten (per php) an eine URL schickt die auch oben angezeigt wird. ich will aber, dass er die ganze URL oben anzeigt. Kann man das mit php und der header() funktion machen? Oder gibt es eine Lösung (ohne Javascript)?

Hier das Problem:

http://www.blue-assassins.de/statistiken/chardetails/

Eigentlich hat jeder Char eine (mit modrewrite generierte) URL wie:

http://www.blue-assassins.de/statistiken/chardetails/marcdk.html

Die wird aber beim benutzen des DropDownMenü snicht (natürlich) nicht angezeigt. =/
 

Enigma

Captain
Dabei seit
Apr. 2004
Beiträge
3.403
Code:
<select onchange="top.location.href=....">

Den Href musst du dir dann zusammenbasteln aus dem wert des aktuell selektierten elements:
document.forms.#formname#.#selectfeldname#.[ ...selectedIndex ].value
 

MarcDK

Banned
Ersteller dieses Themas
Dabei seit
Mai 2001
Beiträge
3.560
Cool, das probiere ich mal aus. =) Danke!

Gibt es auch ne Möglichkeit, dass man nicht mehr auf ok drücken muss und er das feld direkt abspringt?
 

Benjamin_L

Commander
Dabei seit
Dez. 2004
Beiträge
2.505
Zitat von MarcDK:
Das hier klappt bei mir auch nicht: Kann es sein, dass man da ne .js Datei irgendwo im Quelltext angeben muss?
Ne, der Browser bootet seine Kristallkugel und weiss dann genau was du willst ;)

das in den <head>:
<script type="text/javascript" src="blah.js"></script>
 

MarcDK

Banned
Ersteller dieses Themas
Dabei seit
Mai 2001
Beiträge
3.560
Ne, das musste nicht in den head. Mein Fehler lag woanders. Ich habe mich jetzt strkt an das Beispiel gehalten was auf der Seite war.

Mal ne andere Frage: Wie kann man das auf einen <input type=button anweden?

HTML:
<form name="Suchfeld">
<p>
	<input type="text" name="char" size="20" />
	<input type="submit" value="suchen" />
</p>
</form>

Wenn jemand sagen wir "MarcDK" in das Suchfeld eingibt, soll er zu der URL:

http://www.meinedomain.com/marcdk.html gehen.

Das muss doch auch gehen? Nur wie lauten die Befehle dafür?
 

Enigma

Captain
Dabei seit
Apr. 2004
Beiträge
3.403
HTML:
<form name="Suchfeld" onsubmit="top.location.href=document.forms.Suchfeld.char.value; return false;">
<p>
	<input type="text" name="char" size="20" />
	<input type="submit" value="suchen" />
</p>
</form>
Damit wechselt er genau zu der URL die du eingibst. Wenn du da noch Strings ergänzen willst:
top.location.href= 'http://www.meinedomain.com/' + document.forms.Suchfeld.char.value + '.html';

Aber wenn du schon dabei bist - kannst du das so lösen, dass du alle Seiten die es gibt in einen Array speicherst:
var keywords = array('markdk', 'selfhtml', 'google');
var sites = array('http://www.meinedomain.com/marcdk.html', 'http://de.selfhtml.org', 'http://www.google.de');

Jetzt könntest du nach jedem eingetippten Zeichen des Inputfeld überprüfen, ob der Inhalt des Textfeldes auf ein gespeichertes Keyword im Array zutrifft (keine Garantie dass das genau so funzt):
HTML:
<input type="text" name="char" size="20" onchange="testeSeite(this)"/>
und drüber
<script type="text/javascript">
function testeSeite(obj) {
  for(int i=0;i<keywords.length;i++) {
    if( keywords[i].equals(obj.value)) {
      document.location.href = sites[i];
   }
  }
}
</script>
 

MarcDK

Banned
Ersteller dieses Themas
Dabei seit
Mai 2001
Beiträge
3.560
HTML:
 <form name="openlocation">
<input type="text" name="href" value="marcdk">

<input type="button" value="Go To" onClick="location.href='http://www.blue-assassins.de/statistiken/chardetails/'+document.openlocation.href.value+'.html';; ">

</form>

Damit geht es ABER wenn ich ENTER drücke zum abschicken macht er nicht. =/ Bei deiner Version musst eich sdas "onsubmit" gegen "onClick" austauschen weil er es sonst nicht nimmt. Idee?
 
Top