href="#" lädt seite neu wenn in der url ein query enthalten ist
kointa
- html
hi all,
ich bin meinem problem endlich auf die spur gekommen.
und zwar gibt es das phänomen, dass wenn ich auf meiner seite einen link anklicke, welcher eine javascript funktion aufruft und selbst href="#" besitzt, die seite neu geladen wird. die javascript funktion selbst gibt return false zurück.
Link:
<a href="#" onclick="return hide('player')">X</a>
Funktion:
function hide(item)
{
document.getElementById(item).style.display="none";
document.getElementById('close').style.display="none";
document.getElementById('info').style.display="none";
document.getElementById('seite').style.paddingTop="0";
return false;
}
Die Seite lädt sich komischerweise neu, wenn in meiner URL ein query enthalten ist, z.b. ?seite=2. das problem tritt NICHT auf wenn die url nur index.php lautet..
vll steh ich auf dem schlauch und die lösung ist ganz einfach, aber ich bitte um eure hilfe.
vielen dank schonmal.
grüße
kointa
Mahlzeit kointa,
und zwar gibt es das phänomen, dass wenn ich auf meiner seite einen link anklicke, welcher eine javascript funktion aufruft und selbst href="#" besitzt, die seite neu geladen wird. die javascript funktion selbst gibt return false zurück.
Link:
<a href="#" onclick="return hide('player')">X</a>
Das ist kein Link. Ein Link, der nicht linkt, ist kein Link. Du kannst nahezu beliebigen anderen HTML-Elementen auch ein "onclick"-Eventhandler verpassen.
MfG,
EKKi
Das ist kein Link. Ein Link, der nicht linkt, ist kein Link. Du kannst nahezu beliebigen anderen HTML-Elementen auch ein "onclick"-Eventhandler verpassen.
Danke, ich hatte es mal mit <p> probiert aber das ging irgendwie nicht. jetzt habe ich dem <div> Container das onclick gegeben. das klappt wunderbar.
vielen dank für die Hilfe !
manchmal sieht man echt das einfachste nicht.
hast vielleicht noch ne Idee wieso das mit dem <p> nicht ging ?
hatte es so: <p onclick="return close('player')">X</p>
danke soweit !
grüße
Mahlzeit kointa,
Danke, ich hatte es mal mit <p> probiert aber das ging irgendwie nicht.
Natürlich nicht.
hast vielleicht noch ne Idee wieso das mit dem <p> nicht ging ?
Ja.
hatte es so: <p onclick="return close('player')">X</p>
Und das war nicht gültig: <http://de.selfhtml.org/html/referenz/attribute.htm#p@title=<p> darf kein "onclick"-Attribut enthalten>. Deswegen schrieb ich ja auch "Du kannst nahezu beliebigen anderen HTML-Elementen auch ein "onclick"-Eventhandler verpassen."
MfG,
EKKi
@@EKKi:
hatte es so: <p onclick="return close('player')">X</p>
Und das war nicht gültig: <http://de.selfhtml.org/html/referenz/attribute.htm#p@title=<p> darf kein "onclick"-Attribut enthalten>.
Das ist Quatsch. Verlasse dich nicht auf Sekundärlitatur!
'p' darf '@onclick' haben [HTML401-STRICT-DTD]:
<!ATTLIST P
%attrs; -- %coreattrs, %i18n, %events --
>
Auch in XHTML [XHTML1-STRICT-DTD]:
<!ENTITY % attrs "%coreattrs; %i18n; %events;">
<!ATTLIST p
%attrs;
>
'@onclick' ist in '% events' drin.
Und <p onclick="[code lang=javascript]alert('foo');
">foo</p>[/code] funktioniert problemlos. Da hat kointa wohl irgendwas falsch gemacht.
Live long and prosper,
Gunnar
Mahlzeit Gunnar Bittersmann,
hatte es so: <p onclick="return close('player')">X</p>
Und das war nicht gültig: <http://de.selfhtml.org/html/referenz/attribute.htm#p@title=<p> darf kein "onclick"-Attribut enthalten>.
Das ist Quatsch. Verlasse dich nicht auf Sekundärlitatur!
Stimmt, Du hast Recht. Ich habe nicht genau hingeschaut ... SELFHTML gibt es natürlich richtig an.
MfG,
EKKi
@@EKKi:
Das ist kein Link. Ein Link, der nicht linkt, ist kein Link. Du kannst nahezu beliebigen anderen HTML-Elementen auch ein "onclick"-Eventhandler verpassen.
Und falls es doch ein 'a'-Element sein soll (bspw weil IE 6 :hover nur für Links kennt), dann bietet sich statt Verlinkung auf "#" an:
<a href="javascript:;" onclick="return hide('player')">X</a>
Dann ist für den Nutzer in der Statuszeile auch zu erkennen, dass beim Click keine andere Ressource angefragt wird, sondern JavaScript ausgeführt wird.
Live long and prosper,
Gunnar
<a href="javascript:;" onclick="return hide('player')">X</a>
Dann ist für den Nutzer in der Statuszeile auch zu erkennen, dass beim Click keine andere Ressource angefragt wird, sondern JavaScript ausgeführt wird.
noch besser ist es, den link durch javascritp zu erzeugen und mittels return false
keinen rückgabewert zu verpassen - dann kann im href-attribut stehen was will
Hallo,
ich weiß nicht ob das irgendwie zur Lösung deines Problems beiträgt. Aber müsste das nicht einfach nur
<a href="#" onclick="hide('player')">X</a>
Und wozu gibt die Funktion überhaupt was zurück? Ist das notwendig?
Tschau
Tobias