Ich habe ein DIV, das schließlich von einem XMLHttpRequest geladen wird. in diesem neu geladenen div sollte Updates sein (falls vorhanden)Javascript: Aktualisierung DOM-Element, das von XMLHttpRequest geladen wurde
scheint nicht zu funktionieren. Wenn ich diese Prüfung an einem Element durchführe, das von einer früheren XMLHttpRequest if (document.getElementById('newdiv') !== null)
eingefügt wird, gibt NULL zurück und die Antwort wird nicht eingefügt. Wenn ich dies für ein Element mache, das sich beim Laden der Seite im DOM befindet, funktioniert es.
Wie kann ich einen Wert eines Elements aktualisieren, das nach dem Laden der Seite (möglicherweise) geladen wurde?
Bitte keine jquery, javascript nur bearbeiten
<body>
<button onclick="f1()">
<input onchange="f2(this.value)"/>
<div id="parent"></div>
</body>
<script>
function f1() {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState === 4) {
if (xhr.status == 200 && xhr.status < 300)
console.log(xhr.responseText);
console.log(document.getElementById('parent'));
if (document.getElementById('parent') !== null) {
document.getElementById('parent').innerHTML= xhr.responseText;
}
}
postvars = somestuff;
xhr.open("POST", "req.py", true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.overrideMimeType("application/text");
xhr.send(postvars);
}
function f2(val) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState === 4) {
if (xhr.status == 200 && xhr.status < 300)
console.log(xhr.responseText);
console.log(document.getElementById('newdiv'));
if (document.getElementById('newdiv') !== null) {
document.getElementById('newdiv').innerHTML= xhr.responseText;
}
}
}
postvars = val;
xhr.open("POST", "req.py", true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.overrideMimeType("application/text");
xhr.send(postvars);
}}
</script>
die xhr.responseText für f1 wird zu klären, wie
<div id="newdiv"></div>
die xhr.responseText für f2 wie
seinfancy text
Wie fügen Sie '# newdiv' in das DOM ein? Was erzeugt 'console.log (document.getElementById ('newdiv'));' genau? – Xufox
Ich füge mit Laden ein XMLHttpRequest innerHTML = xhr.responseText; zum Elternteil von newdiv –
Kannst du den Code redigieren, den du in der Frage verwendest? Ich sehe immer noch nicht, wie dies das '# newdiv' erzeugt, in das du die Antwort einfügst. – Xufox