AJAX: Wie kann ich den Inhalt der textarea verändern?
Hallo,
ich habe eine textarea, in der man Text eingibt. Per AJAX wird dieses Feld dann verändert:
function function() {
jQuery.ajax({
url: "change.php",
data: {
"text": $("#text").val(),
},
type: "POST",
success:function(data) {
$("#text").val(data);
},
error:function() {
}
});
}
Doch das Problem ist, dass die komplette echo-Ausgabe vom PHP-Skript dann da drin steht.
Das Skript sieht etwa so aus:
<?php
echo "<p>Dein neues input-Feld:</p>";
echo '<textarea id="output">'.$NeueAusgabe.'</textare>';
echo "<p>richtig ? </p>";
?>
Ich will aber nur den Inhalt der Variable dann darin austauschen und das hier noch zur textarea hinzufügen:
onClick="this.select();"
Wie geht das?
3 Antworten
1) function ist in JavaScript ein reserviertes Wort, daher ist das:
function function() {
falsch.
2) Wenn du nur das Attribut zum textarea-Element text hinzufügen möchtest sowie den Inhalt von $NeueAusgabe, müsstest du zunächst dein PHP-Skript abändern.
Im einfachsten Falle würde es folgendermaßen aussehen:
<?php
// define $NeueAusgabe ...
echo $NeueAusgabe;
Die Funktion, die im Erfolgsfall des AJAX-Requests ausgeführt wird, würde nur um eine Zeile (die das Attribut setzt) ergänzt werden:
$("#text").click(function() { this.select(); });
Wobei du an dieser Stelle auch die Methoden verketten kannst:
$("#text").val(/* ... */).click(/* ... */);
Ich verstehe nicht genau was du willst aber versuch es mal mit dem:
document.getElementById("output").innerText = "neuer Text";
Du kannst sonst mit "Strg+Umschalt+i" genau gucken was im Browser so abgeht. Durch "console.log(data);" kannst du die meisten Fehler debuggen.
Ich verstehe nicht was Du eigentlich machen willst? Wieso soll per AJAX ein JavaScript-Attribut ergänzt werden? Macht für mich gerade keinen Sinn. Erklär doch mal bitte dein konkretes Vorhaben - vlt. gibts dafür sogar eine einfachere Lösung.