martin: Anführungszeichen

hi,

es geht um folgende syntax:

<SCRIPT LANGUAGE="JavaScript">
//<!--
function showLink(PageID)
{
prompt("Kopieren Sie (durch Strg+C/Strg+P) diesen Link in das Content-Formular:","<a href=# onClick=return go(" + PageID + ")></a>");
}
//-->
</script>

und davon:
"<a href=# onClick=return go(" + PageID + ")></a>"

und das problem der kommasetzung. so wie es jetzt notiert es, funktioniert zwar der promt aufruf, aber der link nicht,
weil noch anführungszeichen um onClick erwartet werden.

hat jemend eine ahnung, wie man das zusammen bringt?

vielen dank

martin

  1. Hallo Martin

    "<a href=# onClick=return go(" + PageID + ")></a>"

    Sonderzeichen werden mit \ maskiert.
    JavaScript erlaubt auch als Stringbegrenzer ' zu verwenden.

    Möglich sind demnach:

    "<a href=# onClick="return go(\" + PageID + \")"></a>"

    für die inneren Anführung brauchst du 3 \ weil du die " innerhalb von onclick auch maskieren mußt.

    einfacher gehts so:

    '<a href=# onClick="return go(' + PageID + ')"></a>'

    durch die Verwendung von ' brauchst du nur die inneren ' von onclick zu maskieren.

    Viele Grüße

    Antje

    1. Hallo Martin

      Moin!

      Ich denke, du bist etwas über das Ziel hinausgeschossen, bzw. hast etwas zuviel escapet! :)

      Möglich sind demnach:

      "<a href=# onClick="return go(\" + PageID + \")"></a>"

      Hier reicht einfach, die "-Zeichen um das onClick zu escapen:
      "<a href=# onClick="return go(" + PageID + ")"></a>"

      Aber natürlich nur, wenn im Prompt die PageID als Zahl zu sehen sein soll im Sinne von onClick="return go(3)"

      einfacher gehts so:

      '<a href=# onClick="return go(' + PageID + ')"></a>'

      Ist tatsächlich einfacher, aber ebenfalls etwas zuviel escapet.

      '<a href=# onClick="return go(' + PageID + ')"></a>'

      - Sven Rautenberg

      1. Hallo Sven

        Ich denke, du bist etwas über das Ziel hinausgeschossen, bzw. hast etwas zuviel escapet! :)

        eher die Aufgabenstellung falsch verstanden und nicht die gesamte Funktion getestet. Aus irgendeinen Grund war ich der Annahme, die Anführungsstriche sollten erhalten bleiben.

        Dann ist allerdings ist dieses Massenescsape notwendig.

        Viele Grüße

        Antje