Iframe reload

yeronimo

Erfahrenes Mitglied
Moin,

habe ein Iframe, das dynamsch inhalte bekommt (selectbox in einem popup fuer den vorschaumodus) und dann per knopfdruck abgeschickt und der Inhalt in einem text eingesetzt wird.

wenn ich in meinem selectfeld nun item1 auswähle, holt er sich p. ajax request den passenden baustein und setzt ihn per link in das iframe ein. Der Inhalt wird auch neu geladen, aber sobad ich auf "absenden" klicke hat er IMMER der Baustein ausgewählt, den ich als vorletztes geladen habe. Er hinkt also quasi immer einen hinterher.
Zu testzwecken habe ich mir den Body ausgeben lassen und tatsächlich, trotzdem er mir im Iframe den korrekten Inhalt anzeigt, ist der body falsch und das eingefuegte auch.

Bin langsam sprachlos :) !

hier mein iframe:
Code:
<iframe id="connBrickssrc" name="connBrickssrc" src="blank.htm" width="690" height="400" frameborder="0"></iframe>

und hier meine versuche den Inhalt neu zu laden:
Code:
		//hier hatte ich den dateiinhalt per ajax req. geholt und in den inner html gepackt. Funktioniert so aber nicht, da er das head und body tag löscht. keine ahnung warum
		//d.body.innerHTML = this.connBricksHTML = this.getFileContents(u);
		/*
		d.documentElement.innerHTML = this.connBricksHTML = this.getFileContents(u);
		console.log(u);
		console.log(d);
		console.log(d.documentElement);
		console.log(d.documentElement.innerHTML);
		console.log(this.getFileContents(u));
		*/		
		//also habe ich hier versucht einfach den gesamten iframe inhalt irgendwie abzuaendern
		console.log(document.getElementById('connBrickssrc').src);
		console.log($('#connBrickssrc').attr('src'));
		$('#connBrickssrc').attr('src', u);
		console.log($('#connBrickssrc').attr('src'));

		console.log('test1');
		console.log(d.body);
		d.location.href = u;
		console.log('test2');
		console.log(d.body);
		this.connBricksHTML = d.body.innerHTML;
		console.log('test3');
		console.log(d.body);
		console.log(d.src);

falls es einen interessiert, für meinen ersten Lösungsansatz habe ich den request gehabt um einfach nur den innerHTML auszutauschen:

Code:
	getFileContents : function(u) {
		var x, d, t = 'text/plain';

		function g(s) {
			x = 0;
			try {
				x = new ActiveXObject(s);
			} catch (s) {
			}

			return x;
		};

		x = window.ActiveXObject ? g('Msxml2.XMLHTTP') || g('Microsoft.XMLHTTP') : new XMLHttpRequest();

		// Synchronous AJAX load file
		x.overrideMimeType && x.overrideMimeType(t);
		x.open("GET", u, false);
		x.send(null);

		return x.responseText;
	}


besten dank, Gruß Ron
 
Hi,

ist das irgendwo online zu betrachten?

Mit den Fragmenten ist eine Lösung des Problems kaum möglich.

Im Übrigen möchte ich dich bitten, dich, wie in der Netiquette unter Punkt 15 zugestimmt, durchgehend an die Gross- und Kleinschreibung zu halten. Besten Dank im Voraus.

Ciao
Quaese
 

Neue Beiträge

Zurück