[HTML] Drop-Down Menü mit Links

MarcDK

Banned
Registriert
Mai 2001
Beiträge
3.559
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. =/
 
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
 
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?
 
MarcDK schrieb:
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>
 
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?
 
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>
 
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?
 
Zurück
Oben