+ Antworten
Ergebnis 1 bis 4 von 4

Thema: php string und js funktion

  1. #1
    TP-Newbie zardoz macht alles soweit korrekt
    Registriert seit
    Jul 2011
    Ort
    Aachen
    Beiträge
    3

    Arrow php string und js funktion

    Hallo allerseits,

    habe die letzte Zeit fast nur mit C# und vb.net gearbeitet, bin wegen eines
    Projektes aber jetzt aber wieder einmal bei PHP gelandet, klappt sogar noch recht gut .
    Um wieder richtig rein zu kommen bin ich noch einmal �ber meine alten Codes
    gegangen und dabei auf ein Problem gestossen, was ich damals ( und auch heute )
    nicht l�sen konnte. Es geht um �bergabe einer string Variablen aus einem PHP Array
    an eine js Funktion. Simples Code Beispiel :

    <?php
    $ar = array('Gurke', 'Banane', 'Apfel');
    ?>

    <script type="text/javascript">
    function test (x)
    {
    alert(x);
    }
    </script>

    <?php
    for($i=0; $i<=count($ar); $i++)
    {
    echo '<a href="#" onclick="test(' .$ar[$i]. ')">' .$ar[$i]. '</a><br />';
    }
    ?>

    Javascript nimmt die Variable nicht an. Ersetze ich das Array durch:

    $ar = array(2, 3, 5, 7);

    klappt das einwandfrei. Das ist mit Sicherheit auf falsche Hochkommata des Strings
    zu�ck zu f�hren, da ich in der Firebug Konsole die Variablen ohne selbige sehen.
    Hab gestern mal einige Stunden mit diversen L�sungsvorschl�gen aus dem Netz verbracht,
    die brachten aber alle nichts, da die links nicht �ber eine Schleife erstellt wurden.
    Reiner Link mit <?php echo $ar[$i] ?> klappt nat�rlich und nat�rlich gibt es workarounds
    hab das selbst jetzt mit einer Array �bergabe an JS gemacht. Aber das muss ja auch so
    gehen. �ber einen Hinweis wo der Fehler liegt w�rde ich mich freuen.

    Gr��e,

    Ralf

  2. #2
    TP-Supporter chorn bringt sich richtig ein Avatar von chorn
    Registriert seit
    Apr 2008
    Ort
    Verden
    Beiträge
    396
    Du hast ja keine Hochkommata in deinem JS. " begrenzt das onlick, ' wirft dich aus dem PHP raus, wird aber nicht mit ausgegeben. Also setzt du vor die Variable noch ein Hochkomma - ein doppeltes geht nicht, das verwendest du schon für das onclick, ein einfaches musst du escapen, damit es nicht von PHP interpretiert wird, also \'. Du brauchst ja auch nur mal in den Quelltext zu gucken um zu sehen, dass du deinen String ohne Hochkomma ausgibst.

  3. #3
    TP-Newbie zardoz macht alles soweit korrekt
    Registriert seit
    Jul 2011
    Ort
    Aachen
    Beiträge
    3
    Hi chorn,

    danke für deine Antwort. Das ist ja was ich meine, seh das
    in der firebug js console. Die von dir angesprochene Variante :

    echo '<a href="#" onclick="test(\'' .$ar[$i]. '\')">' .$ar[$i]. '</a><br />';

    hatte ich neben einigen Anderen auch probiert, tuts aber nicht. Oder
    hab ich dich falsch verstanden. Escape doch bitte einmal die Stelle so
    wie die sein sollte, von den 10 - 20 verschiedeenen die ich gestern
    probiert habe, hat keine geklappt, oder ich schnall da was nicht und muss
    das erst einmal richtig sehen um es zu kapieren.

    Gruß,

    Ralf
    Geändert von zardoz (25.07.2011 um 18:03 Uhr)

  4. #4
    TP-Newbie zardoz macht alles soweit korrekt
    Registriert seit
    Jul 2011
    Ort
    Aachen
    Beiträge
    3

    Erledigt

    Hallo chorn,

    du hast mich auf den richtigen weg gebracht, hatte zunächst einen kleinen
    Verständnisfehler, weil ich nicht dachte das der hier '\\ gemeint war. Läuft
    jetzt, hier die Zeile falls das noch einmal gefragt wird:

    echo '<a href="#" onclick="test(\'' .$ar[$i]. '\')">' .$ar[$i]. '</a><br />';

    Nochmals vielen Dank für deine Mühe.

    Gruß,

    Ralf

+ Antworten

Ähnliche Themen

  1. Antworten: 12
    Letzter Beitrag: 10.06.2010, 16:22
  2. Antworten: 4
    Letzter Beitrag: 25.08.2005, 19:28
  3. String in String suchen
    Von HeinsMarcel im Forum Traum-Dynamik
    Antworten: 3
    Letzter Beitrag: 28.07.2005, 21:11
  4. string funktion ??? - volltextsuche funktioniert nicht
    Von mimamo im Forum Traum-Dynamik
    Antworten: 1
    Letzter Beitrag: 23.06.2005, 12:27
  5. string vom format $string+1 aus einer uri ersetzen
    Von theo im Forum Traum-Dynamik
    Antworten: 7
    Letzter Beitrag: 20.01.2004, 14:04

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51