.innerHTML funktioniert nicht
Ich habe ein sehr blödes problem. Ich möchte den Inhalt einer Zelle der Tabelle. Mein code:
var x = ajax('...');
alert(x);
alert(document.getElementById(tdId).innerHTML);
document.getElementById(tdId).innerHTML = x;
"x" hat den richtigen content => also ajax arbeitet
Und die zweite Warnung(...) liefert auch den richtigen (aktuellen) content. Aber wenn ich möchte, schreiben x in der Zelle, nichts passiert. Keine Fehler, nichts...
Überprüfte ich einige ähnliche Probleme hier, aber ohne Erfolg.
Ich habe wirklich keine Ahnung, was kann ich weiter testen um das problem zu verstehen. Haben Sie eine Idee? Vielen Dank für Eure Hilfe!
- Was ist der Wert von
x
- Sind Sie sicher, dass der Ajax-request wird synchron?
- xmlHttpObject.open('get', url, false); => so ist es synchron...
- x ist ein string: "Kugelgew.sp. 1000x16x5" => einige seltsame Zeichen? Ich glaube nicht, dass es so ist?! sehr seltsam...
- Sie könnten versuchen es mit
.textContent
um zu sehen, ob es funktioniert. - Dokument.getElementById(tdId).textContent = x; => kein Erfolg - auch kein Fehler, keine änderung der den Inhalt der Zelle...
- Hast du einen live-link?
- einrichten ein Turnschuh, damit wir sehen können, was Sie arbeiten. Auch: nicht synchrone AJAX, bitte... versuchen Sie
xhr.onreadystatechange = function(){ document.getElementById(tdId).appendChild(document.createTextNode(this.responseText));};
- Naja, alles was ich sagen kann ist, dass, um den Wert
x
mit einem text statt mit ajax. Dann wenn das funktioniert, muss es ein problem mit ajax. - guter Tipp: ich schrieb var x = "g"; es ist auch nicht funktioniert => also, ich denke, wir können exclute ajax
- Nein, sorry, es läuft auf localhost... 🙁
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe die Lösung!!!!!
Dies ist sehr blöd: ich habe die Inhalte der td durch einen Klick auf den td... aber die neuen Inhalte, die eine Taste hat, um wieder auf... nun, firefox startet von Anfang an und zeigt das "zweite" Inhalt wieder...
Das ist hart! 🙂
Allerdings habe ich wirklich danken Ihnen sehr herzlich für Ihre Hilfe! Sorry für Ihre Zeit verschwenden! 🙁
Ihr code korrekt ist, aber stellen Sie sicher, dass dieses element nicht versteckt ist (mit display: none oder visibility: hidden, zum Beispiel). wenn Sie ein default-Wert in der HTML-Datei, wird es erscheinen?
können Sie auch machen Sie einen test hinzufügen, den Inhalt der
x
zu einem anderen element. versuchendocument.body.innerHTML += x
oder sogar ersetzenx
zu einem string-literal wie "dies ist ein test".x
wird angewendet, um das erste element mittdId
idwenn Ihr Skript ist auf der Oberseite der Seite, der DOM wurde nicht fertig geladen, wenn Sie versuchen, Ihre javascript-Funktion.
stellen Sie sicher, dass Ihr Javascript wird ausgeführt, nachdem das DOM geladen wurde:
oder verschieben Sie die script-Datei auf der Unterseite der Seite. (die erste ist mehr recommened)
tdId
eine variable? oder text? wenn es eine variable, sollten Sie das entfernen der Anführungszeichen für meinen code.