Ankündigung

Einklappen
Keine Ankündigung bisher.

Text per Ajax wird nicht angezeigt

Einklappen

Neue Werbung 2019

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

  • Text per Ajax wird nicht angezeigt

    Hallo zusammen,

    ich gebe auf - irgendetwas Dummes habe ich übersehen.
    Ursprünglich will ich in meiner Filmdatenbank per Ajax auf Knopfdruck ein Formular nachträglich einblenden, in dem bestehende Datensätze modifiziert werden können.
    Das funktionierte insoweit nicht, dass ich eine Variable nicht durchreichen konnte von einem PHP-Skript ins andere (womit ich nicht den richtigen Datensatz aufrufen kann).

    Um das zu klären, habe ich das Ganze auf das simpelste vereinfacht und wollte mit einem Formular den Inhalt eines einzelnen Feldes durchreichen. Damit ich hier einfacheren Quellcode posten kann, inhaltlich kann ich das dann wieder umsetzen.
    Jetzt klappt nicht mal mehr, mittels Ajax in einem DIV-Container irgendetwas erscheinen zu lassen.

    Drei Dateien habe ich:

    1. 06_Variable_bei_Ajax_weitergeben.php. Hier wird in einem Formularfeld Text eingegeben.

    PHP-Code:
    <!DOCTYPE html>
    <html lang="de">
    <head>
        <meta charset="utf-8">
        <title>Variable bei Ajax weitergeben</title>
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <script type="text/javascript" src="06_Variable_bei_Ajax_weitergeben.js"></script>
        </head>
    <body>
    <?php
        
    echo "<form action="06_Variable_bei_Ajax_weitergeben.php" method="post"> \n";
        echo 
    "<label>Eingabe</label> \n";
        echo 
    "<input name="Eingabe"> \n";
        echo 
    "<br> \n";
        echo 
    "<input id="eingabe" type="submit" value="Senden"> \n";
        echo 
    "</form> \n";
        echo 
    "<div id="ausgabe"></div> \n";
        echo 
    "</body> \n";
        echo 
    "</html> \n";
    ?>
    2. Die referenzierte Javascript-Datei:

    Code:
    var resOb = new XMLHttpRequest();
    window.onload = function() {
        document.getElementById("eingabe").onclick = function () {
            resOb.open('get', '06_Variable_bei_Ajax_ausgeben.php', true);
            resOb.onreadystatechange = function () {
                if (resOb.readyState == 4) {
                    document.getElementById("ausgabe").innerHTML = resOb.responseText;
                }
            };
            resOb.send(null);
        };
    };
    3. Der Text, der im DIV-Container erscheinen soll:

    PHP-Code:
    <?php
        
    echo "Variable weitergegeben";
    ?>
    Simpler geht wirklich nicht mehr - was übersehe ich da gerade?

    Danke im Voraus

    Schrangel

  • #2
    Du hast ein Formular mit einem input="submit". D.h. wenn du auf den Knopf drückst wird das Formular ausgeführt und die Seite neu geladen.

    1. Weshalb gibst du das Formular per echo aus? Einfach als html ist wesentlich einfacher.
    2. Das Formular brauchst du an sich nicht
    3. Verwende nicht input="submit" sondern <button type="button">
    4. Falls du doch unbedingt ein Formular brauchst müsstest du das Absenden des Formulars verhindern => https://developer.mozilla.org/en-US/...preventDefault

    Kommentar


    • #3
      Hallo,

      Punkt 3 war der, der mir geholfen hat - vielen Dank! Hat mich in die richtige Richtung gestossen. Und dann hat es auch direkt mit der Übergabe der Variable geklappt.

      Schönen Abend noch und bleibt gesund!

      Schrangel

      Kommentar

      Lädt...
      X