Wie kann ich mit einem Hyperlink gleichzeitig den Inhalt von
Frames (oder mehr) ändern?
Probiers 'mal mit folgendem Skript:
/*
Laden von (beliebig vielen) Frame-Inhalten
---------------------------------------------------------------------
Durch den Aufruf der JavaScript-Funktion ...
ladeFrameInhalt('frameName', 'dokumentURL');
wird das Dokument im Frame mit dem Namen 'frameName' durch das Doku-
ment mit der URL 'dokumentURL' ausgetauscht. Mehrere Dokumente koennen
durch ...
ladeFrameInhalt('frame1Name', 'dokument1URL',
'frame2Name', 'dokument2URL', ...);
usw. gleichzeitig ausgetauscht werden. Der Aufruf kann beispielsweise
ueber ...
<a href="..."
target ="..."
onclick="ladeFrameInhalt('frameName', 'dokumentURL')">
...
</a>
erfolgen, wobei die Attribute href und target des <a>-Elementsfuer den
jeweils erste Austausch und die der Funktion ladeFrameInhalt() ueber-
gebenen Parameter fuer weitere Wechsel "zustaendig" sind. Alternativ
kann der Aufruf ueber ...
<a href="javascript:ladeFrameInhalt('frameName', 'dokumentURL')">
...
</a>
erfolgen.
Hinweis: Werden ineinander verschachtelte Framesets verwendet, kann
die Funktion ladeFrameInhalt() in der vorliegenden Version evtl. nicht
verwendet werden.
*/
function ladeFrameInhalt() {
if (arguments.length < 2) {
alert('Fehler beim Aufruf der Funktion 'ladeFrameInhalt()':\nDer Funktion muessen mindestens 2 Parameter uebergeben werden!')}
else {
if (arguments.length % 2 != 0) {
alert('Fehler in der Funktion 'ladeFrameInhalt()':\nDer Funktion darf keine ungerade Anzahl an Parametern uebergeben werden!')}
else {
var i = 0;
while (i < arguments.length) {
if (!parent.frames[arguments[i]]) {
alert('Fehler in der Funktion 'ladeFrameInhalt()':\nEin Frame mit dem Namen '' + arguments[i] + '' existiert nicht!')}
else {
parent.frames[arguments[i]].location.href= arguments[i + 1]}
i += 2}}}}
Enjoy IT,
Andreas
PS.: Eine aehnliche Loesung waere aber auch in SelfHTML zu finden ge-
wesen!!!