Objektname dynamisch erzeugen
stephan
- javascript
Folgendes, für Euch wahrscheinlich nicht sehr schwiegriges, Problem:
Ich habe auf einer Seite mehrere IFRAMEs, die bei onfocus hellgrau
hinterlegt werden sollen.
Die Funktion highlight möchte ich folgendermaßen aufrufen:
<IFRAME onfocus="highlight('<? echo $f_name; ?>');">
Über <? echo $f_name; ?> wird mittels PHP der Name erzeugt.
Bei Aufruf der Funktion
function highlight(f_name) {
window.f_name.document.bgColor='#FDFDFD';
}
zeigt JS an, dass window.f_name.document kein Object sei.
f_name wird also nicht in den übergeben Framenamen übersetzt.
Wie ist eine dynamische Erzeugung des Objektnamens möglich ?
Danke im vorraus....
Hallo Stephan,
Du hast 2 Fehler gemacht. Einmal mußt du dem Frame selbst einen Namen geben und im JS fragst du nach dem iframe f_name. Den gibt es natürlich nicht.
richtig sieht es z.B. so aus (natürlich als php-Datei gespeichert:
<? $f_name="abc"; ?>
<html>
<head>
<title>Farbe ändern</title>
</head>
<body>
<IFRAME src="test.htm" onfocus="highlight('<? echo $f_name; ?>');" name="<? echo $f_name; ?>">
</iframe>
<script language="JavaScript">
<!--
function highlight(f_name)
{
window[f_name].document.bgColor='#ff0000';
}
//-->
</script>
</body>
</html>
Viele Grüße
Antje