ERLEDIGT
NEIN
NEIN
ANTWORTEN
6
6
ZUGRIFFE
1081
1081
EMPFEHLEN
-
Hallo zusammen,
versuche mal mein Problem zu beschreiben, obwohl ich keine Ahnung habe, was da schief läuft.
Ich habe eine .php Seite.
Dort werden Links in einer Variablen zusammengebaut, welche dann per
echo "<a href=\"".$link."\">";
eingetragen werden.
Soweit so gut.
Auf der Folgeseite steht dann:
<a href="#" onClick='javascript:Weiter(...)';></a>
Jetzt wird aber nicht das Javascript ausgeführt, sondern es steht auf einmal im href, beim MouseOver, wo ich dachte es steht dort nur ein Platzhalter, der ganze String aus der Variablen $link drin mit der # am Ende.
Im Quellcode wird mir nur die # angezeigt.
Ich dachte die # wäre einfach nur ein Platzhalter!
Weglassen kann ich die # aber nicht, da ja ansonsten der Link nicht funktioniert.
Kennt das vielleicht einer von euch? Ich bin da mit meinem Latein echt am Ende.
Danke und Gruß
Torstenhttp://www.fallen-harlekin.de
-
Das Rautenzeichen (#) ist keinesfalls ein Platzhalter, sondern ein Indikator für eine Sprungmarke oder auch Anker, mit dem man sich innerhalb einer Seite bewegen kann.
Viel zu häufig wird dieses Zeichen jedoch für JavaScript Ereignisaktionen (meist onclick) missbraucht. Das Ergebnis ist, dass der Browser bei fehlendem Ankername zum Anfang der Seite springt.
Besser wäre hier die ‚Nuztlast‘ selbst mit dem Präfix javascript:void direkt als Referenz anzugeben, welches etwa so aussähe:Code :1
<a href="javascript:void [i]funktion()[/i]">…</a>
Markus Wulftange
-
man kann auch folgendes machen
Solange die Funktion nicht "true" zurückgibt, wird nach dem onClick Event "das Anklicken" nicht ausgeführt.PHP-Code:<script type="text/javascript">
function myfunction(){
{INSERT JS CODE HERE}
return false;
}
</script>
<a href="" onClick="return myfunction()">
fehlerhaft ist auf jedenfall onClick="javascript:myfunction()"
-
Danke an euch beide.
Da würde ich mal wieder ganz klar sagen, dass ich wieder was gelernt habe.
Ich habe mir echt schon die Haare gerauft, wegen der Sache.
Gruß
Torstenhttp://www.fallen-harlekin.de
-
Kann man, sollte man aber nicht. Wenn man das so macht wird die Seite bei jedem anklicken neu aufgerufen. Sehr ungut. Egal, das Problem ist ja geloest, auch wenn es nichts mit PHP zu tun hatte...Original geschrieben von Lapsus
Code :1
<a href="" onClick="return myfunction()">
Im Ruhestand.
-
wat wo wie?
Wenn die JavaScript Funktion false zurückgibt wird gar nichts aufgerufen.
Anderes Beispiel, aber ähnlich.
<form onSubmit = "return myfunction()">
</form>
Wenn myfunction() false zurück gibt wird das Formular nicht abgeschickt. Egal ob du nun den Submit Button gedrückt hast oder nicht. Egal ob du document.formular.submit(); machst. Es passiert einfach nix.
Also wenn du schon meinen Vorschlag kritisierst, dann berechtigt und nicht so.
-
Natuerlich geht es, WENN die Funktion irgendwas sinnvolles macht (location=...) oder false zurueckliefert. Wenn dem aber nicht so ist? Was, wenn die Funktion lediglich ein alert() ausfuehrt? Von daher sollte man defaultmaessig, in so gut wie jedem Fall, das Shebang in die URL setzen.
Im Ruhestand.
Ähnliche Themen
-
Problem mit "top.location.href" funktioniert nicht
Von finnex im Forum Javascript & AjaxAntworten: 4Letzter Beitrag: 17.06.09, 14:57 -
"select" und "button" per "a href" ansprechen
Von dennisnowack im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 30.01.08, 19:39 -
"window.location.href" funktioniert im IE nicht!?
Von Suchfunktion im Forum Javascript & AjaxAntworten: 5Letzter Beitrag: 12.06.07, 13:08 -
location.href wird nicht ausgeführt
Von pride im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 04.09.05, 18:43 -
Status "onclick/onmousedown" nicht durch "onmouseover" ablösen
Von gab im Forum Javascript & AjaxAntworten: 3Letzter Beitrag: 16.06.05, 03:10





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren