visibility Netscape 4 Problem
Tom
- dhtml
Hi!
kann mir jemand sagen wieso netscape 4* bei volgendem script in der javaconsole von netscape die fehlermeldung
document.layers[formu] has no properties.
bringt?
function sichtbar(formu) {
if (document.all) {
document.all[formu].style.visibility="visible";
}
if (document.getElementById){
document.getElementById(formu).style.visibility="visible";
}
else {
document.layers[formu].visibility = "visible";
}
}
function unsichtbar(formu) {
if (document.all) {
document.all[formu].style.visibility="hidden";
}
if (document.getElementById){
document.getElementById(formu).style.visibility="hidden";
}
else {
document.layers[formu].visibility = "hidden";
}
}
Das Script ist dazu da, Formularfelder auszublenden wenn ein Submenu via DHTML eingeblendet wird, da dieses sonst beim Überlappen unter dem Formularfeld angezeigt wird. Mit z-index lässt sich da ja auch nix machen.
gruss
tom
Servus Tom
kann mir jemand sagen wieso netscape 4* bei volgendem script in der
»»javaconsole von netscape die fehlermeldung
document.layers[formu] has no properties.
bringt?
jepp, ich denke schon, daß ich hier helfen kann. Netscape weicht hier leicht vom Schema ab.
Tausch doch das hier mal aus:
document.layers[formu].visibility = "visible";
document.layers[formu].visibility="show";
document.layers[formu].visibility = "hidden";
document.layers[formu].visibility="hide";
Müßte dann funktionieren
Gruß Goofy
Servuus!
Danke für deinen Tip! Allerdings hatte ich das auch schon ausprobiert (obwohl es ja mit hidden und visible trotzdem laufen müsste!!) mit dem gleichen Ergebnis: immer dieselbe Fehlermeldung.
AAAAARRRRGGGG
Tom
Servus Tom
kann mir jemand sagen wieso netscape 4* bei volgendem script in der
»»javaconsole von netscape die fehlermeldung
document.layers[formu] has no properties.
bringt?
jepp, ich denke schon, daß ich hier helfen kann. Netscape weicht hier leicht vom Schema ab.
Tausch doch das hier mal aus:
document.layers[formu].visibility = "visible";
document.layers[formu].visibility="show";
document.layers[formu].visibility = "hidden";
document.layers[formu].visibility="hide";
Müßte dann funktionieren
Gruß Goofy
Servuus!
Danke für deinen Tip! Allerdings hatte ich das auch schon ausprobiert (obwohl es ja mit hidden und visible trotzdem laufen müsste!!)
manchmal ja, manchmal nein (eigene Erfahrung)
document.forms['formular].document.layers['layername'] .....
Gruesse
Wilhelm
auch hier sag ich danke für den tip. doch leider funktioniert es damit auch nicht!
Servuus!
Danke für deinen Tip! Allerdings hatte ich das auch schon ausprobiert (obwohl es ja mit hidden und visible trotzdem laufen müsste!!)
manchmal ja, manchmal nein (eigene Erfahrung)
document.forms['formular].document.layers['layername'] .....
Gruesse
Wilhelm
waere hilfreich
ansonsten wird Dir wohl keiner helfen koennen.
hi,
document.layers[formu] has no properties.
bedeutet: NC4x kennt dieses Objekt nicht, sprich: es ist nix da.
Wie sieht es denn im html/css aus? Falls Du ein Div verwendest, hast Du es auch per css positioniert? Bei "layer": stimmt die ID?
Hast Du gar layer/divs verschachtelt, was eine andere Referenzierung bedeutet?
Gruesse Joachim
Hi, also
im css:
<style type="text/css">
<!--
#formu {position:static; visibility:visible}
-->
</style>
static deswegen, da bei absoluter oder relativer angabe netscape die select box gar nicht mehr anzeigt!
div wird verwendet wie folgt:
<div id="formu"><select name="fakultaet" size="1">
<option value="a" selected>alle</option>
<option value="0">blabla</option>
<option value="1">blabl</option>
<option value="2">blaa</option>
</select></div>
also keine layer/div verschalchtelung.
aufgerufen wir das ganze mit
<a href="#" onMouseOut="sichtbar('formu'); swapImgRestore()" onMouseOver="swapImage('blabla_site_point','','../images/blabla_site_point_over.gif',1); P7_autoLayers(0,'SubMenu'); unsichtbar('formu')" class="leftNaviText">BLABLA</a>
Vielleicht kannst du mir jetzt eine Tip geben *hoff*. Habe allerdings die Befürchtung, dass sich die irgenwelche *.js dateien die implementiert werden nicht vertragen, wobei dier fktn. sichtbar/unsichtbar wirklich nicht viele variablen enthält die woanders mit auftauchen könnten.
gruss
tom
hi,
document.layers[formu] has no properties.
bedeutet: NC4x kennt dieses Objekt nicht, sprich: es ist nix da.
Wie sieht es denn im html/css aus? Falls Du ein Div verwendest, hast Du es auch per css positioniert? Bei "layer": stimmt die ID?
Hast Du gar layer/divs verschachtelt, was eine andere Referenzierung bedeutet?
Gruesse Joachim
static deswegen, da bei absoluter oder relativer angabe netscape die select box gar nicht mehr anzeigt!
Das tut Netscape dann, wenn das Ganze nicht zwischen <form> </form> liegt. Das duerfte Dein Fehler und damit wiederum meine erste Antwort an Dich relevant sein. Mit "static" hat das gar nichts zu tun.
Ein Form ist hier nicht zu finden.
<div id="formu"><select name="fakultaet" size="1">
<option value="a" selected>alle</option>
<option value="0">blabla</option>
<option value="1">blabl</option>
<option value="2">blaa</option>
</select></div>
Gruesse
Wilhelm
Sorry,
mein fehler hab ich nicht aufgelistet. der ganze div-part steht eigentlich in ner tabelle und um die tabelle ist der form tag gelegt. also auch da liegt das verflixte problem nicht.
gruss
tom
static deswegen, da bei absoluter oder relativer angabe netscape die select box gar nicht mehr anzeigt!
Das tut Netscape dann, wenn das Ganze nicht zwischen <form> </form> liegt. Das duerfte Dein Fehler und damit wiederum meine erste Antwort an Dich relevant sein. Mit "static" hat das gar nichts zu tun.
Ein Form ist hier nicht zu finden.
<div id="formu"><select name="fakultaet" size="1">
<option value="a" selected>alle</option>
<option value="0">blabla</option>
<option value="1">blabl</option>
<option value="2">blaa</option>
</select></div>
Gruesse
Wilhelm
hi,
vermutlich schon.
Afaik kann NC4x "static" gar nicht. Falls er es koennte, waere es nicht moeglich, Formelemente _innerhalb_ in ein div-layer zu stecken, das Formtag aber draussen zu lassen. Fuer NC4x ist ein div.layer wie ein eigenes Dokument, dokumentuebergreifende Formulare gibts aber nicht.
Also: absolut oder relativ positionieren, und die gesamte Form in den div-layer, dann sollte es gehen.
Gruesse Joachim
Hi tom,
gib der div einen namen, sonst macht ns4 nix:
<div id="formu" name="formu">
lg Spiff
nochwas: es muss doch position:absolute sein, sonst ist das für NS4 kein Layer
zudem brauchst Du innerhalb der Div einen form-tag
das formular wird dann wie in ns4 so üblich über document.layers["formu"].document.forms[0] angesprochen
lg Spiff
habt tausend Dank!
es funktioniert jetzt.
Das war des rätsels lösung. Prima
nochwas: es muss doch position:absolute sein, sonst ist das für NS4 kein Layer
zudem brauchst Du innerhalb der Div einen form-tag
das formular wird dann wie in ns4 so üblich über document.layers["formu"].document.forms[0] angesprochen
lg Spiff