Inhalt von DIV-Tag unter Netscape verändern
Saadat
- javascript
0 Andreas Braza0 Saadat0 Andreas Braza0 Saadat0 Andreas Braza0 Saadat
Hallo allerseits,
es kann vielleicht nur eine Kleinigkeit zur Ursache haben, aber das folgende Beispiel klappt unter Netscape nicht.
Ich möchte durch die Auswahl der Optionen "ja" oder "nein" das Textarea-Feld, welches sich in einem Formular in einem DIV-Tag befindet durch ein verstecktes Input-Feld ersetzen. Unter IE klappt es, aber unter Netscape noch nicht.
Hat jemand eine kreative Idee?
Danke im Voraus!
---------------------------------------------------------------------
B E I S P I E L
---------------------------------------------------------------------
<html>
<head>
<title>Untitled</title>
<script language="JavaScript">
<!--
ie=document.all?1:0
ns=document.layers?1:0
function disableLage()
{
var out="<input type='hidden' name='ObjLage' value=' '>";
if(ns)
{
with(document.ObjForm.document.LageText.document)
{
open(); write(out); close();
}
}
else LageText.innerHTML=out;
}
function ableLage()
{
var out="<textarea class='formular' name='ObjLage' cols='40' rows='5'></textarea>";
if(ns)
{
with(document.ObjForm.document.LageText.document)
{
open(); write(out); close();
}
}
else LageText.innerHTML=out;
}
//-->
</script>
</head>
<body>
<form name="ObjForm">
<input type="radio" name="LageOption" value="ja" checked onFocus="ableLage();">ja
<input type="radio" name="LageOption" value="nein" onFocus="disableLage();">nein
<div id="LageText"><textarea name="ObjLage" cols="40" rows="5"></textarea></div>
</form>
</body>
</html>
---------------------------------------------------------------------
Netscape mag es gar nicht, wenn man innerhalb eines <div>-Elements
ein Formularelement ohne ein <form>-Element (im <div>-Element!!!) zu
definieren. Versuch das 'mal.
Enjoy IT,
Andrea
Netscape mag es gar nicht, wenn man innerhalb eines <div>-Elements
ein Formularelement ohne ein <form>-Element (im <div>-Element!!!) zu
definieren. Versuch das 'mal.Enjoy IT,
Andrea
Hallo,
hier Saadat nochmal.
Ich habe wie vorgeschlagen das Textarea-Feld im DIV-Element wie folgt mit einem Formular versehen. Trotzdem scheint es nicht zu klappen.
-------------------------------------------------------------
<div id="LageText">
<form>
<textarea name="ObjLage" cols="40" rows="5"></textarea>
</form>
</div>
-------------------------------------------------------------
Bitte um weitere Vorschläge!
Hast Du das andere <form>-Element, dass vorher das <div>-Element
beinhaltete, auch entfernt?!? Verschachtelte <form>-Elemente sind
naemlich ebenso uebel!.
Andreas
Hast Du das andere <form>-Element, dass vorher das <div>-Element
beinhaltete, auch entfernt?!? Verschachtelte <form>-Elemente sind
naemlich ebenso uebel!.
Wenn ich das oberste Form-Element entferne, sind unter Netscape die Optionsfelder "ja" und "nein" auch nicht mehr sichtbar. Es soll also so innerhalb des Form-Elements funktionieren.
» Wenn ich das oberste Form-Element entferne, sind unter Netscape
» die Optionsfelder "ja" und "nein" auch nicht mehr sichtbar. Es
» soll also so innerhalb des Form-Elements funktionieren.
Leider haben wir anscheinend aneinander vorbei gemailt. Hier die
Lösung, alle geänderten Zeilen habe ich mit einem entsprechenden
Kommentar markiert.
Enjoy IT,
Andreas
<html>
<head>
<title>Untitled</title>
<script language="JavaScript">
<!--
ie=document.all?1:0
ns=document.layers?1:0
function disableLage()
{
/* Geändert!!! */ var out="<form><input type='hidden' name='ObjLage' value=' '></form>";
if(ns)
{
/* Geändert!!! */ with(document.LageText.document)
{
open(); write(out); close();
}
}
else LageText.innerHTML=out;
}
function ableLage()
{
/* Geändert!!! */ var out="<form><textarea class='formular' name='ObjLage' cols='40' rows='5'></textarea></form>";
if(ns)
{
/* Geändert!!! */ with(document.LageText.document)
{
open(); write(out); close();
}
}
else LageText.innerHTML=out;
}
//-->
</script>
</head>
<body>
<form name="ObjForm">
<input type="radio" name="LageOption" value="ja" checked onFocus="ableLage();">ja
<input type="radio" name="LageOption" value="nein" onFocus="disableLage();">nein
<!-- Geändert!!! --></form>
<!-- Geändert!!! --><div id="LageText" style="position:absolute">
<form><textarea name="ObjLage" cols="40" rows="5"></textarea></form></div>
</body>
</html>
» Wenn ich das oberste Form-Element entferne, sind unter Netscape
» die Optionsfelder "ja" und "nein" auch nicht mehr sichtbar. Es
» soll also so innerhalb des Form-Elements funktionieren.Leider haben wir anscheinend aneinander vorbei gemailt. Hier die
Lösung, alle geänderten Zeilen habe ich mit einem entsprechenden
Kommentar markiert.Enjoy IT,
Andreas<html>
<head>
<title>Untitled</title>
<script language="JavaScript">
<!--ie=document.all?1:0
ns=document.layers?1:0function disableLage()
{
/* Geändert!!! */ var out="<form><input type='hidden' name='ObjLage' value=' '></form>";
if(ns)
{
/* Geändert!!! */ with(document.LageText.document)
{
open(); write(out); close();
}
}
else LageText.innerHTML=out;
}function ableLage()
{
/* Geändert!!! */ var out="<form><textarea class='formular' name='ObjLage' cols='40' rows='5'></textarea></form>";
if(ns)
{
/* Geändert!!! */ with(document.LageText.document)
{
open(); write(out); close();
}
}
else LageText.innerHTML=out;
}//-->
</script>
</head><body>
<form name="ObjForm">
<input type="radio" name="LageOption" value="ja" checked onFocus="ableLage();">ja
<input type="radio" name="LageOption" value="nein" onFocus="disableLage();">nein<!-- Geändert!!! --></form>
<!-- Geändert!!! --><div id="LageText" style="position:absolute">
<form><textarea name="ObjLage" cols="40" rows="5"></textarea></form></div></body>
</html>
Danke sehr!
Es funktioniert zwar, aber nun ist das Textarea-Feld kein Teil mehr des Formulars "ObjForm". Das heißt sein Wert wird nicht mit übermittelt.
Vielleicht ist meine Idee falsch rübergekommen. Ich wollte, daß der User die Felder in einem Formular, die nicht ausgefüllt werden müssen, einfach wegklicken kann.
Es funktioniert zwar, aber nun ist das Textarea-Feld kein Teil
mehr des Formulars "ObjForm". Das heißt sein Wert wird nicht mit
übermittelt.Vielleicht ist meine Idee falsch rübergekommen. Ich wollte, daß
der User die Felder in einem Formular, die nicht ausgefüllt werden
müssen, einfach wegklicken kann.
Tja, ich glaube aber, dass das mit Netscape so ohne weiteres nicht
geht. Einzige Möglichkeit, die ich sehe, ist, dass Du alle zu über-
mittelnden Werte noch einmal in die unsichtbare Formularelemente
eines ebenfalls unsichtbaren Formulars kopierst und dieses ab-
schickst.
Andreas