Probleme mit onchange="spring()"
Tim
- javascript
0 T-Rex0 Matthias Apsel0 ChrisB
Ich würde gerne mein Menü in eine SELECT Fromular stecken.
<script type="text/javascript">
//<![CDATA[
function spring() {
var welcherLink = document.jump.URLs.selectedIndex;
document.jump.URLs.selectedIndex = "0";
if(welcherLink > "0"){
top.location.href = document.jump.URLs.options[welcherLink].value;
}
}
//]]>
</script>
<form action="" name="jump">
<select name="URLs" onchange="spring()">
<option value="hallo.htmll">hallo</option>
</form>
Aber ich bekomme zwei Fehlermeldungen:
There is no attribute <form action="" name="jump">
und
Document type does not allow element ... here; missing one of ... start-tag <select name="URLs" onchange="spring()">
Kann mir da jemand weiterhelfen.
Tim
Also schauen wir mal. Bin zwar schon seit einiger Zeit aus dem nativen JS raus (jquery rockt!) versuche aber so gut ich kann zu helfen.
1. würde ich das select erstmal wieder schliessen.
2. würde ich bei dem htmll das letze l streichen.
3. würde ich Attribute immer in einer Formm notieren, entweder alles groß oder alles klein. Ist aber nicht zwingend.
4. wenn das formular eine leeren action hat, dann kannst die action gleich ganz weglassen.
5. kommt bei der Funktion ein Parameter mit dem Event mit. Denn kannst du im Funktionskopf auffangen:
function spring(e)
Mit dem Event kannst du herausfinden welches Element sich geändert hat. In diesem Fall wäre es eine Selectbox. Dann kannst du dir das gedöns mit Name etc. sparen und die Funktion würde auch bei anderen Elementen (eventuell in anderen Projekten) funktionieren.
Hoffe ich konnte dir etwas helfen
Gruß
der bald ausgeschlafene
T-Rex
Om nah hoo pez nyeetz, Tim!
Ich würde gerne mein Menü in eine SELECT Fromular stecken.
»» <script>
> function spring() {
> var welcherLink = document.jump.URLs.selectedIndex;
> document.jump.URLs.selectedIndex = "0";
> if(welcherLink > "0"){
> top.location.href = document.jump.URLs.options[welcherLink].value;
> }
> }
> </script>
Zusätzlich zu dem, was T-Rex bereits sagte:
Matthias
Hi,
top.location.href = document.jump.URLs.options[welcherLink].value;
- imho hat das document-Objekt keine Methode jump,
Methodenaufrufe sehen ja auch anders aus.
du möchtest ein <http://de.selfhtml.org/javascript/objekte/forms.htm@title=Formular ansprechen>
Macht er doch auch – über den Namen, Schema #2.
Es scheint hier aber gar nicht um JavaScript zu gehen, sondern um die Fehler im HTML, die der Validator anmerkt.
MfG ChrisB