Verweismenu
Wyan
- html
Hi
Habs mir hier angeschaut und auch so übernommen(siehe. Verweismenu) nur die Beschriftung und die Links im Menu angeglichen, doch tut sich nichts wenn ich einen Punkt auswähle.
Meine Quellcode:
<form action=""><select size=1 name="Auswahl"
onChange="Go(this.form.Auswahl.options[this.form.Auswahl.options.selectedIndex].value)"
style="width:250px; background-color:#FFFFE0; font-size:9pt; font-family:Arial,sans-serif;"
width="250">
<option value="nothing">[ bitte auswählen! ]</option>
<option value="nothing">------------------------</option>
<option value="Movies.htm">Movies</option>
<option value="RechnerTotal.htm">Taschenrechner</option>
</select></form>
Hoffe ihr könnt mir weiterhelfen
Gruß
Mark
Hallo Wyan,
Hi
Habs mir hier angeschaut und auch so übernommen(siehe. Verweismenu) nur die Beschriftung und die Links im Menu angeglichen, doch tut sich nichts wenn ich einen Punkt auswähle.
Meine Quellcode:
<form action=""><select size=1 name="Auswahl"
onChange="Go(this.form.Auswahl.options[this.form.Auswahl.options.selectedIndex].value)"
style="width:250px; background-color:#FFFFE0; font-size:9pt; font-family:Arial,sans-serif;"
width="250">
<option value="nothing">[ bitte auswählen! ]</option>
<option value="nothing">------------------------</option>
<option value="Movies.htm">Movies</option>
<option value="RechnerTotal.htm">Taschenrechner</option>
</select></form>Hoffe ihr könnt mir weiterhelfen
Ja, es wird sich nichts tun, außer einem Scriptfehler oder vergleichbarem. Der Grund: Der Eventhandler onChange ruft die Funktion Go() auf, die du wahrscheinlich nicht kopiert hast, stimmts?
Ich könnte dir aber wenn du willst was zusammenschreiben, was sie nämlich tud, ist unschwer zu erraten:
function Go(uri)
{
if(uri != "nothing") {
location.href = uri; }
}
Das war's auch schon. Müsste gehn, wenn du's in einen <script type="text/javascript">-Tag steckst und in den header packst.
WauWau
hallo WauWau,
Der Eventhandler onChange ruft die Funktion Go() auf, die du wahrscheinlich nicht kopiert hast, stimmts?
Das ist möglich.
Ich könnte dir aber wenn du willst was zusammenschreiben
Warum denn? Er hat doch das "Original" bereits, und da stehts auch drin, muß bloß abgeschrieben und angepaßt werden.
function Go(uri) {
if(uri != "nothing") {location.href = uri; }
}
Das war's auch schon. Müsste gehn
Da wäre ich nicht so sicher. Es kommt auf den Gesamt-Kontext an.
Grüße aus Berlin
Christoph S.
Hallo Christoph,
Der Eventhandler onChange ruft die Funktion Go() auf, die du wahrscheinlich nicht kopiert hast, stimmts?
Das ist möglich.
ich halte es nach anbetracht des Eventhandlers für sicher.
Ich könnte dir aber wenn du willst was zusammenschreiben
Warum denn? Er hat doch das "Original" bereits, und da stehts auch drin, muß bloß abgeschrieben und angepaßt werden.
eigentlich schon, ja, aber die 2 zeilchen haben meiner tastatur jetzt auch nicht geschadet.
function Go(uri) {
if(uri != "nothing") {location.href = uri; }
}
Das war's auch schon. Müsste gehn
Da wäre ich nicht so sicher. Es kommt auf den Gesamt-Kontext an.
Wieso? das, was ich von seinem <select> gesehen habe, machte den eindruck, dass <option>s, die nicht irgendwohinführen sollen den value "nothing" bekamen, alle anderen die uri. der eventhandler rufte die funktion go() auf und verpasste ihr als parameter den value des selektierten <option>. Wenn ich also nun in der Funktion Go() schaue, ob der Parameter _nicht_ "nothing" ist (denn dann soll er ja nicht weiterleiten), und dann zur mithilfe des Parameters übergebenen Uri weiterleite, müsste es soweit klappen.
Afaik muss die funktion in diesem falle nicht noch so ein true oder false zurückliefern, oder?
WauWau
hallo nochmals,
Der Eventhandler onChange ruft die Funktion Go() auf, die du wahrscheinlich nicht kopiert hast, stimmts?
Das ist möglich.
ich halte es nach anbetracht des Eventhandlers für sicher
Du hast zu schnell gelesen. Ich bezweifle nicht den Funktionsaufruf, ich halte aber genauso wie du für möglich, daß die Javascriptfunktion nicht mit abgeschrieben wurde.
Es kommt auf den Gesamt-Kontext an.
Wieso? das, was ich von seinem <select> gesehen habe, machte den eindruck, dass <option>s, die nicht irgendwohinführen sollen den value "nothing" bekamen, alle anderen die uri.
Richtig. Aber schau dir das Original in der SELFHTML-Quickbar doch auch nochmal an. Es wird ja Gründe geben, weshalb dort nicht nur ein "location.href" angegeben ist, sondern auch noch
document.forms[0].reset();
document.forms[0].elements[0].blur();
Daß die Quickbar in einem Frameset realisiert ist, spielt keine Rolle.
Wenn ich also nun in der Funktion Go() schaue, ob der Parameter _nicht_ "nothing" ist
Dann kann er alles mögliche andere sein. Im Moment sind es tatsächlich Verweise auf andere Seiten, aber vielleicht möchte Mark später mal seine Auswahl erweitern oder unterschiedliche Clickziele unterschiedlich behandeln, wie das ja auch die Quickbar tut.
Afaik muss die funktion in diesem falle nicht noch so ein true oder false zurückliefern, oder?
Ich weiß nicht genau, was du jetzt mit "true oder false" meinst. Ein "return" ist aber durchaus geraten.
Mark hat aber offenbar noch mehr vor. Er hat im <form> bereits ein "action" angelegt, das im Moment zwar noch leer ist, aber wer weiß, was er da noch reinbasteln möchte. Ich habe es zwar noch nicht probiert, aber ich denke, es ist möglich, auf den EventHandler ganz zu verzichten und stattdessen eben irgendwas über ein Script machen zu lassen.
Grüße aus Berlin
Christoph S.
Hallo Christoph,
Der Eventhandler onChange ruft die Funktion Go() auf, die du wahrscheinlich nicht kopiert hast, stimmts?
Das ist möglich.
ich halte es nach anbetracht des Eventhandlers für sicher
Du hast zu schnell gelesen. Ich bezweifle nicht den Funktionsaufruf, ich halte aber genauso wie du für möglich, daß die Javascriptfunktion nicht mit abgeschrieben wurde.
Hmm, ich weiß ja nicht, welcher Fehler Mark erhalten hat, aber da er uns als einzigen Seitenquelltextauszug dieses Formular gegeben hat - und keinen Script - gehe ich davon aus, dass er auch keinen Script hat, ihn also wie du bereits geschrieben hast vergessen hat, und habe ihm dementsprechend was geschrieben. Dass der Eventhandler letztenendes die Funktion Go() aufruft, steht wohl in Anbetracht des Quelltextes zweifelsfrei fest.
Richtig. Aber schau dir das Original in der SELFHTML-Quickbar doch auch nochmal an. Es wird ja Gründe geben, weshalb dort nicht nur ein "location.href" angegeben ist, sondern auch noch
document.forms[0].reset();
document.forms[0].elements[0].blur();
Daß die Quickbar in einem Frameset realisiert ist, spielt keine Rolle.
Ach so, ich wusste nicht, dass seine "Quickbar" eine Kopie der Selfhtml-Quickbar ist. Na gut, und wie ich auch bereits geschrieben habe, kann es sein, dass eben noch ein return dabei sein soll und weiteres, was ich nicht bedacht habe. reset() ist eigentlich ganz sinnvoll, da das <select> ja bei Auswahl z.B. eines <option>------------</option>-Trennbalkens möglichst zurückgesetzt werden sollte (der Trennbalken also nicht markiert bleiben sollte), und blur() macht natürlich auch sinn, da das <select> ja nach anklick verlassen werden sollte.
Wenn ich also nun in der Funktion Go() schaue, ob der Parameter _nicht_ "nothing" ist
Dann kann er alles mögliche andere sein. Im Moment sind es tatsächlich Verweise auf andere Seiten, aber vielleicht möchte Mark später mal seine Auswahl erweitern oder unterschiedliche Clickziele unterschiedlich behandeln, wie das ja auch die Quickbar tut.
Genau, da hast du vollkommen recht! Ich habe mich natürlich hier nur auf "Grundmöglichkeiten" konzentriert, es wäre ohne Probleme machbar, etwas wie das folgende zu schreiben:
<option value="link:http://wwww.google.de">Google</option>
<option value="window:http://www.google.de">Google im neuen Fenster</option>
<option value="site:close">Fenster schließen</option>
Und hierbei dann den gewonnenen value anhand des ":" zu "splitten", und anschließend ein switch einzubauen, welcher anhand des vor-dem-:-stehenden bestimmte sachen macht, z.B.:
var values = OPTIONSVALUE.split(":");
switch(values[0]) {
case "link": location.href = values[1]; break;
case "window": window.open(values[1], "fenster", "..."); break;
case "site":
switch(values[1]) {
case "close": window.close(); break;
case "back": location.go(-1); break;
...
}
break;
...
}
Den Möglichkeiten sind keine Grenzen gesetzt, und man könnte z.B. die obige Aufgabe auch ganz anders bewerkstelligen.
Wenn Mark letztenendes was größeres als ein simples auswahlmenüchen geplant hätte, dann hätte er wegen dem "Peanuts" hier (simples funktiönchen) auch nicht ein thread erstellt. In anbetracht der Umstände glaube ich nämlich nicht, dass Mark sowas wie ich z.B. gerade geschrieben habe machen will oder sogar kann.
Afaik muss die funktion in diesem falle nicht noch so ein true oder false zurückliefern, oder?
Ich weiß nicht genau, was du jetzt mit "true oder false" meinst. Ein "return" ist aber durchaus geraten.
Mit true oder false meine ich "return true;" oder "return false;". wieso soll hier eigentlich ein return zu raten sein? Wozu würde es benötigt werden?
Mark hat aber offenbar noch mehr vor. Er hat im <form> bereits ein "action" angelegt, das im Moment zwar noch leer ist, aber wer weiß, was er da noch reinbasteln möchte. Ich habe es zwar noch nicht probiert, aber ich denke, es ist möglich, auf den EventHandler ganz zu verzichten und stattdessen eben irgendwas über ein Script machen zu lassen.
Ich kann mir nicht richtig vorstellen, dass Mark etwas größeres vorhat, aber wo ist denn das problem, wenn? Er kann doch letztenendes machen was er will - und wenn er ein ordentliches Formular mit einem netten Absenden-Button augsetzt und dann einen onSubmit aufsetzt, welches was mit dem <select> macht.... oder wenn er letztenendes dann was serverseitiges macht.
WauWau
PS: Wieso nennen wir Wyan eigentlich "Mark"?
onChange="Go(this.form.Auswahl.options[this.form.Auswahl.options.selectedIndex].value)"
style="width:250px; background-color:#FFFFE0; font-size:9pt; font-family:Arial,sans-serif;"
nebenbei bemerkt ist 'pt' keine Eionheit für den Monitor und führt auf verschiednen Rechnern zu völlig unterschiedlichen Ergebnissen. http://www.netandmore.de/faq/fom-serve/cache/414.html
Struppi.
hi,
du hast zu diesem thema bereits hier [pref:t=77427&m=446898] gefragt.
bitte lies </faq/#Q-11>, und poste nicht gleich erneut, wenn dir zu schnell die geduld ausgeht.
gruss,
wahsaga