Newsgroup: it.comp.lang.javascript
Titolo: layer e combo

Ciao a tutti!
Ecco il dilemma:
ho un form abbastanza nutrito, e fra le varie cose ho diverse combo.
Ho un layer di popup che faccio apparire/sparire. Se il layer č nella stessa
posizione delle combo, queste ultime si vedono SOPRA il layer stesso, e non
sotto come sarebbe lecito aspettarsi (ovviamente tutto il resto rimane
SOTTO!).
Conoscete qualche sistema per evitare tutto ciň?
(IE 6)
grazie 1000
Stefano

no


Temo di non aver capito niente a partire dal layer di popup, comunque forse
risolvi la cosa usando una tabella?!?

 (IE 6)
Vi sono delle soluzioni solo per IE6, ma *non sono consigliate* per
internet, bensi' per una intranet.
Ed in ogni caso devi cambiare la struttura a "semplici" layer che hai
attualmente (almeno per quelli che possono andar "sopra" le select):
http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/createpop
up.asp
-- 
C'ya,
  ZER0 :: coder.gfxer.webDesigner();
"When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)

 risolvi la cosa usando una tabella?!?
Ok, ora ho capito, "sopra"/"sotto" pensavo in verticale e non in
profondita'... Eh, e' ancora troppo presto...
Comunque le quando si ha che fare con le select e i layer le soluzioni sono
2:
-    si mette la select in un altro layer che si fa sparire all'occorrenza
(seri problemi con NN4, funziona "visivamente" pero' poi non considera +
quella select del form)
-    si puo' aggiungere alla select un bel "id" e un bel
style="visibility:hidden" e all'occorrenza di nuovo si fa
sparire...(problemi con NN4 non funzionerebbe "visivamente")

 quella select del form)
Questo perche' per NS4.x ogni layer e' un documento a se' stante, come se
fosse un IFRAME.
-- 
C'ya,
  ZER0 :: coder.gfxer.webDesigner();
"Questa e' una lezione difficile, ma importante: Cio' che e' stato, e cio'
che sara', non cambia cio' che e'.
Sta a te decidere poi come prendere questa cosa,se logorarsi per un passato
che non puoi cambiare, invece di prendere tutto il bene che il presente ti
offre." ()

Il problema è che la "select" è un elemento windowless (colpa di zio
Bill?!?!?).
Quindi ha priorità assoluta su altri elementi HTML.
Usa la vecchia combo Win32; prova il codice qui sotto:
<html>
	<head>
		<title></title>
		<script language="Javascript">
			var effetto=0;
			var liststyle=0;
			var displaystyle=0;
			function doSpecialEffect()
			{
				if (effetto>3)
					alert("Ma quanti ne voi!!!");
				else
					document.all.combo.specialeffect=effetto;
				effetto++;
			}
			function doListStyle()
			{
				if (liststyle>3)
					alert("Qui so solo due!!!");
				else
					document.all.combo.liststyle=liststyle;
				liststyle++;
			}
			function doDisplayStyle()
			{
				//if (displaystyle>3)
					alert("displaystyle " + displaystyle);
				//else
					document.all.combo.displaystyle=displaystyle;
				displaystyle++;
			}
 
			function doShowHideDiv()
			{
				if (document.all.oDiv.style.visibility == "hidden")
				{
					document.all.oDiv.style.visibility = "visible";
					document.all.bNascondi.value = "Nascondi";
				}
				else
				{
					document.all.oDiv.style.visibility = "hidden";
					document.all.bNascondi.value = "Mostra";
				}
			}
		</script>
	</head>
	<body bgcolor="#ff0000">
		<font face="Verdana" size="1" color="black"><b>Combo Win32:
</b></font><br>
		<object classid="clsid:8BD21D30-EC42-11CE-9E0D-00AA006002F3"
id="combo" name="combo" width="100" height="20">
		<param name="VariousPropertyBits" value="746604571">
		<param name="BackColor" value="12644351">
		<param name="ForeColor" value="1595796">
		<param name="MaxLength" value="10">
		<param name="BorderStyle" value="1">
		<param name="ScrollBars" value="1">
		<param name="DisplayStyle" value="7">
		<param name="MousePointer" value="5">
		<param name="Size" value="2540;635">
		<param name="PasswordChar" value="0">
		<param name="ListWidth" value="4000">
		<param name="BoundColumn" value="2">
		<param name="TextColumn" value="65535">
		<param name="ColumnCount" value="1">
		<param name="ListRows" value="8">
		<param name="cColumnInfo" value="0">
		<param name="MatchEntry" value="1">
		<param name="ListStyle" value="1">
		<param name="ShowDropButtonWhen" value="2">
		<param name="ShowListWhen" value="1">
		<param name="DropButtonStyle" value="1">
		<param name="MultiSelect" value="0">
		<param name="Caption" value="Fugaro">
		<param name="PicturePosition" value="458753">
		<param name="BorderColor" value="16776960">
		<param name="SpecialEffect" value="1">
		<param name="Accelerator" value="2">
		<param name="GroupName" value>
		<param name="FontName" value="Arial">
		<param name="FontEffects" value="1073741824">
		<param name="FontHeight" value="150">
		<param name="FontOffset" value="0">
		<param name="FontCharSet" value="0">
		<param name="FontPitchAndFamily" value="2">
		<param name="ParagraphAlign" value="1">
		<param name="FontWeight" value="200">
		</object>
 
	<script>
		document.all.combo.additem("Html");
		document.all.combo.additem("Xml");
		document.all.combo.additem("JavaScript");
		document.all.combo.additem("XHtml");
	</script>
 
	<br><br><br>
	<input id="bNascondi" type="button" value="Nascondi"
onClick="javascript:doShowHideDiv();">
	<br><br>
	<input type="button" value="Effetti Speciali"
onClick="javascript:doSpecialEffect();">
	<br><br>
	<input type="button" value="List Style"
onClick="javascript:doListStyle();">
	<br><br>
	<input type="button" value="Display Style"
onClick="javascript:doDisplayStyle();">
 
 
	<div id="oDiv" style="position: absolute; left: 10px; top: 15px; width:
150px; height: 50px; background-color: #ffFF00; border-width: 1px;
border-style: solid; border-color: #000000;">
	Nascondimi!!!
	</div>
 
 
 
	</body>
</html>
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Usa la vecchia combo Win32; prova il codice qui sotto:
[code-cut]
Che non va. :) Avrai sbagliato il class-id?


 Che non va. :) Avrai sbagliato il class-id?
Cosa vuoi che ti dica...
20. "E' bizzarro..."
19. "Non l'ha mai fatto prima."
18. "Ieri funzionava."
17. "Com'è possibile?"
16. "Dev'essere un problema hardware."
15. "Che cos'avete fatto di sbagliato per farlo inchiodare?"
14. "C'è qualcosa di strano nei vostri dati."
13. "Non ho modificato il codice questa settimana!"
12. "Avete la versione sbagliata."
11. "Questa è una coincidenza sfortunata."
10. "Non ho testato tutto!"
09. "QUESTO non può essere la fonte di QUELLO."
08. "Funziona, ma non è stato provato."
07. "Qualcuno ha modificato il mio codice."
06. "Avete fatto un controllo dei virus nel sistema?"
05. "Anche se non funziona, può andare bene?
04. "Non puoi usare questa versione sul tuo sistema."
03. "Perché volete fargli fare quello?"
02. "Dove eravate quando il programma si è bloccato?"
01. "Sulla mia macchina funziona."
Cmq il class-id è quello.
L'ho provato su IE6!!!


 Che non va. :) Avrai sbagliato il class-id?
A me funziona...IE6sp1 ita

 L'ho provato su IE6!!!
IE6sp1 su Win2000 con Framework .NET 1.1 e quel class-id non sa neanche
dove sta di casa.
Eventualmente posso fare una ricerca con un object viewer, ma sinceramente
ora come ora non ho tempo a disposizione (Sto lottando contro VC++).
-- 
C'ya,
  ZER0 :: coder.gfxer.webDesigner();
"When you have eliminated the impossible, whatever remains,



uhm bellino... grazie.

 uhm bellino... grazie.
De nada.
