iframe Inhalt löschen

oren

Grünschnabel
Hallöchen,

ich beschäftige mich seit Tagen mit einem winzigen Problem, komme jedoch nicht auf des Lösungs Rätsel.
Mein Progrämmchen generiert je nach Auswahl eines in einer Textarea hinterlegten Kriteriums ein Grafik, welche in einem iframe gebettet wird.

Soweit funktioniert die Sache schon, jedoch werden die Garfiken bei Aktivierung eines neuen Themas hintereinandergereiht. Ich möchte jedoch, dass die alte Grafik gelöscht wird und die neue Grafik angezeigt wird.

Wie lösche ich nun den Inhalt des iframes, bei click eines neues Kriteriums.

Folglich der existente Code, um sich die Sache zu veranschaulichen:

<HTML>
<BODY>
<table >
<form name="mapselect">
<tr>
<td>

<select name="map" size=3 onChange="einsetzen(this)">
<option value="topo"><a href="javascript:einsetze();"> topo</a></option>
<option value="bathy"><a href="javascript:einsetzen();">bathy</a></option>
<option value="geoid"><a href="javascript:einsetzen();">geoid</a></option>
</select>

</td>
</tr>

<tr>
<td>
<script language="JavaScript" type="text/javascript">
<!--

function einsetzen(element)
{

var liste = document.mapselect.map;
var index = liste.selectedIndex;
var wert=(liste.options[index].text);

subdoc.document.write("<img src=legende/"+wert+".jpg><br>");
index--;

}
//-->
</script>
<iframe name="subdoc" frameborder="no" scrolling="no" width="200" height="250"></iframe>
</td>
</tr>

<tr>
<td>

<input type="button" name="test" value="ok" />

</td>
</tr>


</form>
</table>

</BODY>
</HTML>


Ich würde mich sehr freuen wenn ihr mir helfen könntet

Gruß oren
:rolleyes:
 
Naja die Grafiken legst du immer in einen Div Layer ab. Diese kann man bequem per document.getElementById("divlayer").innerHTML="<img src=#>";
beeinflussen bzw. löschen.

In diesem Sinne
 
Hi,

Mein Vorschlag:
Zunächst würde ich ein Dokument in den iFrame einbinden (src="..."). Dieses Dokument
enthält im Body nur einen IMG-Tag mit einem transparenten Gif und einer ID.
&nbsp;&nbsp;<img src="spacer.gif" id="imgSub">

Dein JavaScript änderst du wie folgt:
Code:
<script language="JavaScript" type="text/javascript">
<!--
IE = document.all&&!window.opera;
DOM = document.getElementById&&!IE;

function einsetzen(element){
    var liste = document.mapselect.map;
    var index = liste.selectedIndex;
    var wert = '../' + (liste.options[index].value) + '.jpg';

    // Bild-Objekt aus iFrame-Dokument ermitteln (Browser-abhängig)
    var myObj = (IE)?document.subdoc.document.all.imgSub:top.subdoc.document.getElementById('imgSub');
    var imgNew = new Image(); // Bild-Objekt erstellen (wegen IE4)
    imgNew.src = wert;        // Quelle zuweisen
    myObj.src = imgNew.src;   // Bild zuweisen
}
//-->
</script>
In diesem Script wird das Bild im oben eingebundenen iFrame-Dokument über seine
ID angesprochen und seine Quelle entsprechend geändert.

Ciao
Quaese
 
des Lösungs Rätsel endlich eingeholt

Hallöchen,

ich danke euch beiden für die produktiven Hinweise.

Ich habe eine Lösung aus beiden Vorschlägen gefunden.
Das Zauberwort war eigentlich getElementById.

Ich habe nun doch von den iframes abgelassen. Bereiten eh nur Probleme.

Grüßchen Oren
:-)
 

Neue Beiträge

Zurück