Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP-Variable an JavaScript übergeben

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PHP-Variable an JavaScript übergeben

    Hallo!
    Ich würde gern wissen, wie ich eine PHP-Variable in JavaScript auslesen kann, um einen Feldinhalt zu überprüfen.

    Die Variable ist beispielsweise:

    $country_field = "Sonstiges";

    Die JavaScript-Funktion lautet:

    Code:
    function showCountry(s){
      document.getElementById('country_addfield').style.display=s.options[s.selectedIndex].value=='$country_field'?'block':'none';
    }
    Da, wo im JS die Variable $country_field steht, soll logischerweise "Sonstiges" erscheinen. Ist das irgendwie möglich?

    Vielen Dank vorab!

  • #2
    Hallo,

    PHP läuft serverseitig ab und JavaScript clientseitig. Du kannst mit beiden zusammen arbeiten, jedoch auf etwas andere Art und Weise. Hast du Erfahrungen in C++? Du musst dir PHP hier so vorstellen wie den Präprozessor (heißt ja auch Hypertext Preprocessor). Du kannst mit PHP einfach an bestimmten Stellen bestimmte Strings schreiben, die anschließend von JavaScript verarbeitet werden.
    Ein dynamischer Austausch von Daten zwischen PHP und JavaScript ist aber nur mit PageReload oder AJAX möglich.
    Refining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”

    Kommentar


    • #3
      Was genau meinst du mit "dynamischer Austausch von Daten"? Bei mir ist es doch eher so wie du es mit der Aussage ...

      Zitat von Manko10
      Du kannst mit PHP einfach an bestimmten Stellen bestimmte Strings schreiben, die anschließend von JavaScript verarbeitet werden
      ... beschreibst. Zuerst wird von PHP eine Variable definiert, die anschließend in JS weiter verarbeitet werden soll. Dynamisch ist daran doch eigentlich nichts. Oder hab ich da was falsch verstanden?

      Kommentar


      • #4
        Eben, dynamisch ist daran nichts. Das hast du vollkommen richtig verstanden.
        Und damit man dynamisch Werteaustausch zwischen PHP und JavaScript betreiben kann (also in etwa: PHP macht Variable; sagt JS, es soll tun; JS tut und gibt an PHP zurück), braucht man entweder jedes Mal einen Page-Reload oder AJAX.
        Refining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”

        Kommentar


        • #5
          Aber für dein "Problem" braucht man kein Ajax, schadet aber nicht, wenn man sich mal damit befasst Du musst dort, wo du die Variable momentan einfach so reingeschrieben hast, das ganze in der PHP-Umgebung machen, sprich:
          PHP-Code:
          function showCountry(s){
            document.getElementById('country_addfield').style.display=s.options[s.selectedIndex].value=='<?php echo $country_field?>'?'block':'none';
          }

          Kommentar


          • #6
            Danke für deine Hilfe!
            Das Problem besteht jedoch leider weiterhin. Wenn ich im Javascript die Variable durch den echo-Befehl einbinden will, führt dies dazu, dass das Skript nicht mehr richtig funktioniert.

            Es wird nur noch der Zustand "display=none" (CSS) angezeigt. Das Skript soll bewirken, dass bei aktiviertem Wert xy (Variable) ein bestimmtes Feld angezeigt wird. Dieses ist zunächst mit CSS auf "display: none;" geschaltet und wird dann auf "display: block;" gesetzt.

            Was kann ich tun, woran könnte es liegen?

            // edit: Vielleicht ist es wichtig, zu erwähnen, dass das Javascript extern als .js eingebunden ist.

            Kommentar


            • #7
              Problem gelöst! Das JavaScript musste natürlich in eine PHP-Datei eingebunden werden, jetzt funktionierts!

              Vielen Dank nochmal!

              Kommentar

              Lädt...
              X