ottoisleno: PHP-Stringvariable kommt in JS als [Object] an:brauch Tip

aus meinem PHP-script geb' ich aus:

onclick="do_js('.$iddv5.')";'

die JS-Function erhält die Stringvariable $iddv5 als Object. Ich möchte
sie jedoch wieder als Zeichenkette zur Verfügung haben, so dass ich sie z.B.
mit alert() ausgeben kann.

Dank für Stütze
Otto

  1. Hi,

    aus meinem PHP-script geb' ich aus:
                          onclick="do_js('.$iddv5.')";'

    und wie sieht der daraus resultierende HTML-Code aus?

    die JS-Function erhält die Stringvariable $iddv5 als Object.

    Nein. JavaScript schert sich einen gepflegten Hahnenkamm um PHP. Es hat allenfalls Verknüpfungen zu HTML - welches ebenso viel von PHP hält. Bei clientseitigen Problemen ist serverseitiger Code *nie* von Belang. Betrachte also das, was der Client kennt.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. PHP
      $iddv5='iddv5xx';
      echo 'onclick="do_js('.$iddv5.')";';

      Javascript
      function do_js(vgx) {
            alert('angekommen: '+vgx);
            }

      alert gibt aus: 'angekommen: [object]'
      ich hätte jedoch gern: 'angekommen: iddv5xx'

      Ich hoffe, jetzt ist´s eindeutig genug...

      1. Ich hoffe, jetzt ist´s eindeutig genug...

        Nein, du hast genau den wichtigen Teil nämlich nicht aufgeführt, nämlich der generierte Code, in dem do_js aufgerufen wird. Wenn du die Seite aufrufst und dir den Quellcode anschaust, was steht da?

        --
        Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.
        Self-Code: sh:( ch:? rl:( br:> n4:( ie:{ mo:) va:) de:> zu:} fl:| ss:| ls:~ js:|
      2. PHP
        $iddv5='iddv5xx';
        echo 'onclick="do_js('.$iddv5.')";';

        Wie Cheatah schon anmerkte, PHP ist uninteressant. Wie sieht das HTML einschließlich onclick-Attribut aus, das der Browser zu sehen bekommt?

        function do_js(vgx) {
              alert('angekommen: '+vgx);
              }
        alert gibt aus: 'angekommen: [object]'
        ich hätte jedoch gern: 'angekommen: iddv5xx'

        <raten target="ins_blaue">
        Dann setze die Hochkommata so, dass die JS-Funktion den String 'iddv5xx', nicht aber das Objekt iddv5xx übergeben bekommt.
        </raten>

        Siechfred

        --
        Hinter den Kulissen passiert viel mehr, als man denkt, aber meistens nicht das, was man denkt.
        1. Kurtz gegrüßt

          <raten target="ins_blaue">
          Dann setze die Hochkommata so, dass die JS-Funktion den String 'iddv5xx', nicht aber das Objekt iddv5xx übergeben bekommt.
          </raten>

          Nein, ins Schwarze! (du lügst mal wieder ;)

          Um ein String zu sein müsste es auch gequoted werden.

          Grüße
           Kurt

    2. Danke liebe Leute . . .

      *s funzst - und ich hab gelernt. "Quoted" war für mich das Stichwort zum Probieren - am Ende mit Erfolg.
      Danke