kointa: href="#" lädt seite neu wenn in der url ein query enthalten ist

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

  1. 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

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    1. 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

      1. 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

        --
        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
        1. @@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

          --
          Das einzige Mittel, den Irrtum zu vermeiden, ist die Unwissenheit. (Jean-Jacques Rousseau)
          1. 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

            --
            sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    2. @@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

      --
      Das einzige Mittel, den Irrtum zu vermeiden, ist die Unwissenheit. (Jean-Jacques Rousseau)
      1. <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

  2. 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

    --
    Speedswimming? Finswimming? Flossenschwimmen?|http://www.tobiasklare.de |  Mein Wunschzettel
    ie:{ fl:| br:> va:) ls:[ fo:| rl:( n4:° ss:| de:] ch:? mo:) zu:)
    Die Erklärung zum Selfcode findest du hier: http://emmanuel.dammerer.at/selfcode.html
    Einen Decoder für den Selfcode findest du hier: http://peter.in-berlin.de/projekte/selfcode