Hallo!
Mit getElementById("1").value möchte ich den Wert eines input Feldes befüllen.
Habe das erfolgreich in einer HTML Seite bekommen. Nun muß ich meine HTML Seite mitsamt JavaScript in ein Portal einhängen. Der Portalrahmen wird von einer JSP Seite gebildet, die meine HTML Seite per inlcude einbaut.
Es funktionieren einige JavaScript Funktionen (hab alerts eingehängt um zu testen, ob überhaupt was in Richtung JavaScript geht), nur die getElementById("1").value gibt mir die Fehlermeldung "getElementById("..") ist Null oder kein Objekt".
D.h. das Script kann nicht auf das Objekt zugreifen.
Bin verwirrt, weil das Ganze ja eigentlich funktioniert, nur eben nicht sobald ich es in das Portal einhänge.
Die ganze seite mit Potalcode außen rum sieht von der Struktur her so aus:
<html>
<head>
<script src=".." />
</head>
<body>
<script language="JavaScript">
...
</script>
<table>
..
<!-- zwischendrin kommen ein paar Scripte -->
<!-- und wahnsinnig viel Code -->
<!-- und in einem td kommt dann meine eingebundene Seite: -->
<html>
<head>
<title>...</title>
<script language="javascript" scr="..."></script>
</head>
<body>
<form ...>
...
<!-- auf dieses Element möchte ich zugreifen -->
<input type="text" name="JAHR" id="1" size="4" maxlength="4">
...
</form>
</body>
</html>
<!-- Ende meine eingebundene Seite -->
<!-- noch mehr Code vom Portal -->
..
</table>
</body>
</html>
Mein JavaScript wird eingebunden. Der alert, den ich an den Anfang meiner Funktion gestellt habe, wird angezeigt.
Die diversen JavaScript Funktionen überschneiden sich nicht. Es gibt im ganzen Dokument auch nur ein einziges HTML Element, das name="JAHR" und id="1" hat.
Dachte eventuell, daß zwei geschachtelte HTML Seiten das Problem sind und hab das ohne das Portal Geraffel in einem einfachen Beispiel getestet - und es tat.
Hier mein JavaScript:
alert("Hallo bin da.");
fillJahr();
function fillJahr()
{
alert("fillJahr");
var Datum = new Date();
var aktuellesJahr = Datum.getFullYear();
alert("aktuelles Jahr: " + aktuellesJahr);
document.getElementsByName('JAHR')[0].value = aktuellesJahr;
}
Alle alerts werden angezeigt.
Zweck der Funktion fillJahr():
Soll das input feld mit dem aktuellen Jahr vorbefüllen.
Mein Browser ist der IE5.
Danke für jede Hilfe!
Eva