piet: Problem-Programm-Zeile

Hallo,

dies Zeile funkt:

document.getElementById(x).href="javascript:alert('1.1.2004');

warum aber diese nicht:

document.getElementById(x).href="javascript:alert(y + '.' + monatnr + '.' + jahr)";

Die Variablen werden richtig beschrieben da die Zeile in einer Schleife läuft die sonst so funkt.

Ich möchte eine Zelle mit variabler "href" beschreiben.

Danke
  piet

  1. Ich nehme mal an, Du willst erreichen, dass die alert-Anweisung den Zusammnegesetzten String  y + '.' + monatnr + '.' + jahr  ausgibt.
    Die Stringverkettung wird natürlich innerhalb der "" im zweiten Beispiel nicht ausgewertet. Stattdessen müßte es heissen:
    document.getElementById(x).href="javascript:alert(" + y + "." + monatnr + "." + jahr;

    1. Hallo,
      genau so ist es gedacht.

      Ich nehme mal an, Du willst erreichen, dass die alert-Anweisung den Zusammnegesetzten String  y + '.' + monatnr + '.' + jahr  ausgibt.
      Die Stringverkettung wird natürlich innerhalb der "" im zweiten Beispiel nicht ausgewertet. Stattdessen müßte es heissen:

      document.getElementById(x).href="javascript:alert(" + y + "." + monatnr + "." + jahr;

      Wie sieht es am Ende der Zeile aus, es fehlt doch das abschliessende " und die Klammer zu.
      Und noch eine Frage: wenn das "y, monatnr, jahr" Variablen sind, darf ich das dann überhaupt in " setzen ?

      Danke
                      piet

      1. Ich nehme mal an, Du willst erreichen, dass die alert-Anweisung den Zusammnegesetzten String  y + '.' + monatnr + '.' + jahr  ausgibt.
        Die Stringverkettung wird natürlich innerhalb der "" im zweiten Beispiel nicht ausgewertet. Stattdessen müßte es heissen:

        document.getElementById(x).href="javascript:alert(" + y + "." + monatnr + "." + jahr;

        was habt ihr denn die ganze Zeit mit dem href?
        du änderst ja keine URL, sondern willst ein Skript ausführen. Was spricht dagegen dies einfach zu tun?

        Wie sieht es am Ende der Zeile aus, es fehlt doch das abschliessende " und die Klammer zu.

        Wenn du einen Syntaxfehler hast, sollte das dein Browser auch anzeigen. Dummerweise stellt sich der EI dabei nicht besonders klug an, aber im MZ kannst du sofort erkennen wo, was falsch ist.

        Und noch eine Frage: wenn das "y, monatnr, jahr" Variablen sind, darf ich das dann überhaupt in " setzen ?

        klar, aber dann sind es keine Variabeln mehr.

        Struppi.

        1. was habt ihr denn die ganze Zeit mit dem href?
          du änderst ja keine URL, sondern willst ein Skript ausführen. Was spricht dagegen dies einfach zu tun?

          Offensichtlich möchte er nicht nur einfach ein Script ausführen, sondern einen Verweis dynamisch ändern. Was spricht dagegen, dass so zu tun?

          1. was habt ihr denn die ganze Zeit mit dem href?
            du änderst ja keine URL, sondern willst ein Skript ausführen. Was spricht dagegen dies einfach zu tun?

            Offensichtlich möchte er nicht nur einfach ein Script ausführen, sondern einen Verweis dynamisch ändern. Was spricht dagegen, dass so zu tun?

            Er will das href Attribut eines Elementes ändern und zwar so das es Javascript ausführt. Dazu ist der onclick event vorhanden ob das ein Verweis ist oder nicht spielt keine Rolle. Das href attribut eines Verweis zeigt auf eine URL, aber das will er offensichtlich nicht.

            Struppi.

      2. Wie sieht es am Ende der Zeile aus, es fehlt doch das abschliessende " und die Klammer zu.

        Ups, kleiner Fehler meinerseits. Wie Du richtig bemerkt hast, muß es natürlich heißen:
        document.getElementById(x).href="javascript:alert(" + y + "." + monatnr + "." + jahr + ")";

        Und noch eine Frage: wenn das "y, monatnr, jahr" Variablen sind, darf ich das dann überhaupt in " setzen ?

        Das ist ja gerade das Problem, wenn Du sie in "" setzt, werden sie natürlich nicht ausgewertet und statt der Variablenwerte werden die Strings "y", "monatnr" usw. verwendet.

  2. dies Zeile funkt:

    Aha, mein Funkgerät auch.

    document.getElementById(x).href="javascript:alert('1.1.2004');

    woher hast du das?
    Ich schätze mal du willst den onclick event bemühen, dazu gibt es...
    ja - den onclick Event.

    document.getElementById(x).onclick = function ()
    {alert('1.1.2004'); } ;

    Struppi.

  3. Hy

    dies Zeile funkt:

    Nein tut sie nicht! Eine Zeile kann nicht funken, sondern nur funktionieren!
    http://www.andreas-waechter.de/Spass/Sprachliches.html

    Gruss
    DaviD

    --

    sh:( fo:| ch:{ rl:( br: n4:& ie:% mo:| va:) de:] zu:} fl:| ss:| ls:$ js:(
    1. Moin,

      Nein tut sie nicht! Eine Zeile kann nicht funken, sondern nur funktionieren!

      Naja vielleicht ist er ja Fan hiervon: http://www.funkervogt.de
      ;-)

      MfG
      MarkX.