document.write funktioniert im NS nicht
boeschung
- javascript
Hallo,
kann mir jemand sagen, warum folgendes im NS nicht funktioniert bzw. was ich machen muß, damit es funktioniert?
<html>
<head>
<title>Test</title>
<script type="text/javascript">
<!--
function myFunc() {
document.open();
document.write("<form action='#'>");
document.write("<div id='block_2' style='position:absolute;left:100px;top:100px;visibility:visible;z-index:2'>");
document.write("<select name='select'>");
document.write("<option>DeinName</option>");
document.write("<option>MeinName</option>");
document.write("</select>");
document.write("</div>");
document.write("</form>");
document.close();
}
//-->
</script>
</head>
<body>
<div id="block_1" style="position:absolute;left:1px;top:1px;visibility:visible;z-index:1">
<script type="text/javascript">myFunc();</script>
</div>
</body>
</html>
Kann mir dazu jemand einen Tipp geben?
Gruß
boeschung
Hallo,
kann mir jemand sagen, warum folgendes im NS nicht funktioniert bzw. was ich machen muß, damit es funktioniert?
Lass mal die open und close weg. Du willst ja wohl kein neues Dokument schreiben, oder?
By
Reinhard
Hallo
function myFunc() {
document.open();
document.write("<form action='#'>");
Das Element muss nach dem absolut positionierten Div stehen.
Grund: siehe dazu: http://selfhtml.teamone.de/javascript/objekte/layers.htm#document
document.write("<div id='block_2' style='position:absolute;left:100px;top:100px;visibility:visible;z-index:2'>");
Verwende keinen Unterstrich innerhalb der id-Angabe.
document.write("<select name='select'>");
document.write("<option>DeinName</option>");
document.write("<option>MeinName</option>");
document.write("</select>");
document.write("</div>");
document.write("</form>");
Tausche hier div- und Formendetag.
document.close();
}
//-->
</script>
</head>
<body>
<div id="block_1" style="position:absolute;left:1px;top:1px;visibility:visible;z-index:1">
Wieder ein Unterstrich zuviel.
<script type="text/javascript">myFunc();</script>
</div>
Da Netscape eine eigenes Dokumentenmodell im Layer hat, muß die Funktion mit window.myFunc() aufgereufen werden.
Ausserdem muß natürlich jeder Aufruf von document.open(),document.write etc. mit
document.block1.document.write() auf den Layer Block1 referenziert werden.
Viele Grüße
Antje