Problem mit Button-Link (+ Suche nach guten JavaTutorial)
Hi, ich hab jetzt angefangen mich mit JavaScript zu beschäftigen. Ich selber hab aber noch Programmiererfahrung durch C, daher hab ich keine Probleme mit KOntrollstrukturen und so.:D
Ich hab auch schon erste Scripte hinbekommen, nur hab ich jetzt ein Problem: Ich versuche einen Buttons als Link zu verwenden. Mein Ansatz sieht so aus: Code:
<div align="center"> MfG. DSD-Steve |
Zunächst: Achte drauf Java und JavaScript nicht zu verwechseln. Die haben mit einander nichts zu tun.
Zwei der wichtigensten Regeln von JavaScript sind: 1) Man muss wissen wann man JavaScript nicht einsetzt. Das ist u.a. immer der Fall, wenn man es für etwas einsetzten will, was auch ohne JavaScript gemacht werden kann. Außerdem sollte man immer eine Webseite so gestalten, das es auch ohne JavaScript funktioniert. 2) Gutes JavaScript sollte immer auf gutes HTML/CSS aufsetzen. D.h. unter anderem das HTML und CSS zu validieren. In deinem Fall zunächst zum eigentlichen Fehler: Du kannst HTML und JavaScript nicht einfach mischen. JavaScript kann nur an drei Stellen verwendet werden. a) In einer externen Datei, das mit einem Script-Element eingebunden wird: Code:
<script type="text/javascript" src="meine-js-datei.js"></script> Code:
<script type="text/javascript"> Code:
<button type="button" onclick="document.location.author.href='autor.html';"> Code:
<button type="button" onclick="document.location.author.href='autor.html';"> Wenn Du trotzdem ein Button haben willst gibt es zwei bessere Lösungen. Entweder du nimmst einen normalen Link und benutzt CSS um es wie ein Button zu stylen: Code:
<style type="text/css"> Code:
<form action="autor.html"> |
Hi,
es gibt noch einen anderen Weg: Code:
<a href="hierhin.html"> Weitere Nachteile: Auf KHTML basierende Browser wie Konqueror oder Safari rendern den Text zu hoch, wenn der Hintergrund des Buttons ein Bild ist. Und Opera kriegt bei dem Element Probleme mit transparenten Bereichen solcher Hintergrundbilder. In Firefox klappt's natürlich perfekt. Und valide isses auch. Die zusätzliche JavaScript Krücke brauchst Du nur für den IE, dann sollte es allerdins nicht nur onclick sein, sondern auch z.B. onkeypress. |
Zitat:
Zitat:
Robin |
Wer sagt das? Wo steht das?
Innerhalb eines Ankers (a-Element) darf jedes inline-Element vorkommen! Und button ist ein inline-Element. Und der w3c-Validator bestätigt meine Meinung dazu. |
EDIT: Vergiss was ich ich nachfolgend geschrieben habe. Du hast recht. Ich habe noch mal nachgelesen und ich habe das -(A|%formctrl;|FORM|FIELDSET) falsch gelesen...
Zitat:
Code:
<!ELEMENT BUTTON - - Zitat:
Zitat:
Robin |
Zitat:
Übrigens: Andersherum, also ein Anker innerhalb eines Buttons, das ist tatsächlich nicht erlaubt. Zitat:
in der xhtml-Version (nicht für IE) ohne diese JavaScript Krücke: http://www.rorkvell.de/index.xhtml.de |
Erstmal vielen Dank für eure schnelle Hilfe.
Ich habe die letzte Möglichkeit von RoTaRa gewählt. Lustiger weise, war aus irgendeinen grund diese aber die einzige(und die CSS Variante) die Funktioniert hat.:| Das ich den Event-Handler vergessen hatte, ist mir nicht aufgefallen. Eigentlich weis ich wie man einen JavaScript einbindet...8) Aber danke auch noch mal für den Hinweis, dass man dies ja auch ohne JavaScript lösen kann. :) Ich hätte aber noch gern ein paar Fragen: 1. Welche Variante ist besser: Die mit CSS oder mit den Formular? Welche sollte man bevorzugen. 2. Warum muss der nutton vom Typ submit sein? Mir ist die Übersetzung schon klar. Bedeutet dies dann, dass also in jeden Formular ein Button vom Typ submit sein muss? |
Ja, denn sonst kann man es nicht abschicken.
|
Hi,
Nein :) Denn: Ein button ist vom typ button, ein input ist vom typ submit! |
Zitat:
Zitat:
Zitat:
Robin |
Zitat:
Robin |
Echt? Ersteres wusste ich ja, aber ein button vom Typ submit? Das ist mir neu. Hmm, wieder was dazu gelernt.
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 06:42 Uhr. |
Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
© Dirk H. 2003 - 2023