metaphore: Ergebnis einer Javascript-Funktion in <a href= ...> verwenden

Hi,

Ich benötige für Bilder Links folgender art:

<a href="http://www.abc.de?p1=X&p2=Y">

X möchte ich dabei beim Aufruf der Seite per Javascript auslesen (Ich kann an dieser Stelle nur JS verwenden) und Y werde ich zur Entwicklungszeit manuell (Dreamweaver) im Editor eintragen.

Mit einer Funktion get_X() ermittel ich X.
X hat bspw den Wert = 123456

Wie muß ich obigen Tag ändern, damit bei der Anzeige im Browser und beim Anklicken des Links nicht die Seite "http://www.abc.de?p1=123456&p2=Y" aufgerufen wird?

Gibt es vielleicht eine Möglichkeit innerhalb des href-Strings einen Platzhalter o.ä. einzusetzen?

  1. Ich benötige für Bilder Links folgender art:

    <a href="http://www.abc.de?p1=X&p2=Y">

    Mit einer Funktion get_X() ermittel ich X.
    X hat bspw den Wert = 123456

    Wie muß ich obigen Tag ändern, damit bei der Anzeige im Browser und beim Anklicken des Links nicht die Seite "http://www.abc.de?p1=123456&p2=Y" aufgerufen wird?

    falls ich dich nicht falsch verstanden habe, ist das "nicht" im letztem satz irrtümlich dort gelandet?

    wenn ich dich also richtig verstanden habe, musst du sache anders angehen:
    der link führt eine JS funktion aus:

    <a href="javascript:get_x();">

    und am ende der funktion wo du "x" ermittels (im beispiel halt "get_x()"), machst du den link vorgang einfach per JS - da du dich ja in der selben funktion wie "x" befindest ist das dann kein problem:

    function get_x()
    {
      // hier holst du dir dein x
      var X = "123456";
      // und jetzt wird gelinkt
      window.location.href = "http://www.abc.de?p1="+ X +"&p2=Y";
    }

    1. falls ich dich nicht falsch verstanden habe, ist das "nicht" im letztem satz irrtümlich dort gelandet?

      *dumdidum* :D

      <a href="javascript:get_x();"> [...]

      yo - danke. Klappt wunderbar. Ich wollte den Link zwar in einem neuen Fenster öffnen.. bin aber schon auf window.open gestossen... Dein Tipp war aber der nötige.

      Schade ist nur, dass ich so natürlich alle ohne JS außen vorlasse.

      Hmm.. schwierige Lage, denn: Der ominöse Link wird sich auf meinen Auktionsseiten wiederfinden, Ziel wird eine externe Seiten auf meinem Server sein. X ist die Auktionsnummer, die ich auf meiner Seite weiterverwenden möchte (Y enthält übrigens den Namen einer Bilddatei die ich auf der Zielseite anzeige). Die Auktionsnummer lese ich übrigens aus dem ebay-Link aus.

      Ich kann nun auf die Auktionsnummer verzichten oder den JS-Link in Kauf nehmen... jetzt müsste man mal wissen bei wieviel % der User ein JS-Link nicht funzen würde.

      Gibt es denn nicht irgendwie die Möglichkeit eine reine HTML-Variable anzulegen? Die ich dann per JS verändern kann... (und wenn  das Script nicht funzt, würde die Variable in der "einfachen" Form, d.h. ohne den X-Parameter, erhalten bleiben)... ???

      1. Hallo,

        Gibt es denn nicht irgendwie die Möglichkeit eine reine HTML-Variable anzulegen? Die ich dann per JS verändern kann...

        HTML-Variable? Oh!

        Du suchst vermutlich eine Möglichkeit mit und ohne javascript zum Ziel zu kommen.

        <a href="ohne_js.html" onClick=get_x();return false;>

        Ohne javascript wird der onClick Handler ignoriert, und der Link wechselt zu "ohne_js.html". Der Link zu ohne_js.html ist allerdings statisch. Du haste keine Chance hier etwas zur Laufzeit zu ändern.
        Mit javascript wird die Funktion get_x aufgerufen. Das return false verhindert, dass zusätzlich noch der href ausgeführt wird.

        HTH

        Jochen

        1. HTML-Variable? Oh!

          :D - Also, ich muß zugeben - HTML und Variable paßt nicht wirklich zusammen.. aber da ich in Erinnerung habe, dass man wohl irgendwie so eine Art Link-Variable oder Bild-Variable festlegen kann... dacht ich mir Du fragst halt.. Aber da hab ich bestimmt was durcheinander gebracht.

          <a href="ohne_js.html" onClick=get_x();return false;>

          perfect! :D - Das hätte ich vielleicht auch selber rausfinden können; aber ich bitte um Nachsicht. Fragen äußere ich nur dann wenn ich entweder a) kaum Zeit zum selber "forschen" habe oder b) partout keine Antwort finden kann.

          Big thx nochmal!!