Dynamisches Formular im WP-Backend | Problem mit document.getElementById

  • Hallo!

    Bei der Erstellung eines Plugins für WP möchte ich im Backend ein dynamisches Formular erzeugen (außerhalb von WP habe ich das bereits oft via PHP & JavaScript gemacht).

    Jetzt stehe ich vor dem Problem, dass ich innerhalb des Widget-Formulars anscheinend nur lesend per document.getElementById auf die Werte von Feldern zugreifen kann...

    Der aktuelle Wert vom <input>-Feld 'tt11' wird über JavaScript in die Variable 'alterwert' geschrieben und auch korrekt "alertet" - aber beim Schreiben von "Neuer Wert" in das Feld über document.getElementById passiert einfach nichts.

    Code
    echo "<script type='text/javascript'>";
    echo "function feld_aendern()";
    echo "{";
    echo " var alterwert = document.getElementById('tt11').value;";
    echo " alert(alterwert);";
    echo " document.getElementById('tt11').value = 'Neuer Wert';";
    echo " alert('...wieder nicht geklappt?');";
    echo "}";
    echo "</script>";
    echo "<p><input type='text' id='tt11' value='Alter Wert' onchange='feld_aendern()' /></p>";

    Auch beim direkten Versuch, den Feldwert zu überschreiben habe ich das gleiche Ergebnis.

    Ich würde mich riesig freuen, wenn mir jemand auf die Sprünge helfen kann - ich werde das Gefühl nicht los, hier einen ganz dummen - und eigentlich unübersehbaren - Fehler zu machen.

    Viele Dank vorab!!!! :neutral:

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Packe das mal aus den echos und schließe das PHP davor und öffne es danach wieder:

  • Vielen Dank für die schnelle Antwort - leider ist das Ergebnis das gleiche: der Feldwert wird per document.getElementById gelesen und als 'alert' ausgegeben, das Ändern des Feldwertes bleibt aber aus. Das Feld wird ja auch von der .php selbst erzeugt - ich verstehe nicht, warum es lesbar aber nicht beschreibbar sein soll...
    Das Gerüst habe ich einem Tutorial für die WP-Pluginerstellung entnommen, das Formular mit diesen Feldern wird im Widget-Einstellungsbereich im Backend von WP angezeigt.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!