DropDown als Verweisliste
gant
- javascript
Hallo Forum
Ich versuche ein DropDown Menü als Verweisliste zu erstellen. Das ganze funktioniert auch schön. Das Problem ist folgendes:
Die ersten beiden Einträge der Liste enthalten keine Verweise, wenn man nun diese Einträge auswählt wird einfach eine leere Seite geladen, anstatt dass nichts passiert.
Das Beispiel in selfhtml, hat mir leider auch nicht auf die Sprünge geholfen.
Anbei das Script, sowie der relevante Teil des Formulares:
JS-Methode:
function load() {
var index = this.document.tform.bla.selectedIndex;
//alert(index);
if (index != 0 || index != 1) {
this.document.location = this.document.tform.bla.options[index].value;
this.document.tform.reset();
}
else{
this.document.tform.selectedIndex = 0;
}
}
Formular-Teil:
<form name="tform">
<select name="bla" onChange="load()">
<option selected>Projekt-Controlling</option>
<option>---------------</option>
<option value="/km/go/att?did=6114">dok1</option>
<option value="/km/go/att?did=6326">dok2</option>
<option value="/km/go/att?did=7489">dok3</option>
</select>
Besten Dank für Eure Hilfe und Gruss
gant
Hi,
Die ersten beiden Einträge der Liste enthalten keine Verweise, wenn man nun diese Einträge auswählt wird einfach eine leere Seite geladen, anstatt dass nichts passiert.
if (index != 0 || index != 1) {
wenn der Wert also entweder nicht 0 oder nicht 1 ist, aha. Nun, das dürfte ziemlich häufig der Fall sein ;-)
Warum setzt Du nicht einfach einen definierten value in die entsprechenden <option>s und prüfst, ob dieser vorliegt?
this.document.location =
Wieso in Gottfrieds Namen hält sich dieses Gerücht eigentlich so hartnäckig? location war _noch nie_ ein Objekt innerhalb von document, und es wird es auch niemals sein! location ist in window angeordnet.
this.document.tform.reset();
Warum versuchst Du ein Formular zu resetten, das nicht mehr existiert? Du hast doch gerade eben erst die location der Seite geändert. Übrigens ist es sinnvoll, die href-Eigenschaft zu überschreiben, nicht das gesamte Objekt; auch wenn dies implizit auch passiert.
<form name="tform">
ERROR: Required attribute "action" missing.
Cheatah
Hi,
wenn der Wert also entweder nicht 0 oder nicht 1 ist, aha. Nun, das dürfte ziemlich häufig der Fall sein ;-)
Danke für diesen Hint.
Warum setzt Du nicht einfach einen definierten value in die entsprechenden <option>s und prüfst, ob dieser vorliegt?
Werde ich gleich versuchen.
Wieso in Gottfrieds Namen hält sich dieses Gerücht eigentlich so hartnäckig? location war _noch nie_ ein Objekt innerhalb von document, und es wird es auch niemals sein! location ist in window angeordnet.
das wusst ich nicht, funktioniert aber tadellos...
this.document.tform.reset();
Warum versuchst Du ein Formular zu resetten, das nicht mehr existiert? Du hast doch gerade eben erst die location der Seite geändert. Übrigens ist es sinnvoll, die href-Eigenschaft zu überschreiben, nicht das gesamte Objekt; auch wenn dies implizit auch passiert.
Das form geht nicht weg, die Files die man auswählen soll sind keine Websites, sondern office-Doks. Diese werden bei uns ausserhalb des browsers geöffnet.
<form name="tform">
ERROR: Required attribute "action" missing.
nene, kein error, ich habe ca 10 verschiedene forms auf der seite, eines hat ein action-tag, die andern werden per js in dasjenige mit dem action-tag integriert, oder verwenden nur mouseEvents, um ein servlet anzusteuern, welches dann in einem anderen frame eine neue seite aufbaut...
Cheatah
danke für die hinweise und gruss
gant
Hi,
Wieso in Gottfrieds Namen hält sich dieses Gerücht eigentlich so hartnäckig? location war _noch nie_ ein Objekt innerhalb von document, und es wird es auch niemals sein! location ist in window angeordnet.
das wusst ich nicht, funktioniert aber tadellos...
ja, in den wenigen Systemen, mit denen Du es getestet hast. Du verlässt Dich auf Fehlerkorrekturroutinen.
Warum versuchst Du ein Formular zu resetten, das nicht mehr existiert?
Das form geht nicht weg, die Files die man auswählen soll sind keine Websites, sondern office-Doks.
Das weiß der Browser aber in dem Moment noch nicht.
<form name="tform">
ERROR: Required attribute "action" missing.
nene, kein error,
Doch, es ist ein Error. Ein <form>-Tag _muss_ ein action-Attribut enthalten, genauso wie zu jedem(!) <img> ein alt-Attribut gehört. Es geht einfach nicht anders. Lass die action meinetwegen "javascript:void(0)" sein, aber ganz ohne ist es falsch. Vergleiche http://validator.w3.org/.
Cheatah