Bonjour,

Je vous joins un bout de code que j'ai récupéré sur le net. Il affiche une boîte de dialogue permettant de saisir un identifiant et un mot de passe.

C'est OK sous IE, mais sous FF, c'est la cata.

Une idée de ce qu'il faut adapter ?

Merci.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
 
<html>
<body>
<head>
<title>
Connexion
</title>
 
<script type="text/javascript">
LightBox = new function()
{
	var box;
	var color;
	var filter;
	var filterImage;
	var opacity;
 
	// On obtient la couleur courante du filtre
    this.getColor = function() {
        return color;
    }
 
    // On obtient l'url de l'image en fond du filtre
    this.getImageUrl = function() {
        return filterImage;
    }
 
    // On obtient le niveau de transparence du filtre
    // Retourne une valeur comprise entre 0 et 100
    this.getOpacity = function() {
        return opacity * 100;
    }
 
    // On change la couleur du filtre
    this.setColor = function(newColor) {
        changeColor(newColor);
    }
 
    // On change l'image de fond du filtre
    this.setImageUrl = function(imageUrl) {
        // On teste le type
        if(!(typeof imageUrl == 'string')) {
            throw "image argument is not a string objet";
        }
        if(filter) {
            filterImage = imageUrl;
            filter.style.backgroundImage = "url(" +imageUrl + ")";
            filter.style.backgroundColor = null;
        }
    }
 
    // On change la transparence du filtre
    this.setOpacity = function(newOpacity) {
        changeOpacity(newOpacity);
    }
 
	// Initialise la LightBox en créant le filtre
	this.init = function(Opacity, Color) {
        if(filter == null) {
            // On créé le filtre avec la fonction DOM createElement
            filter = document.createElement("div");
            // On lui donne un identifiant pour le reconnaître plus facilement
            filter.id = "lightBox";
            // On met le filtre au dessus de la page
            filter.style.zIndex = "9001";
            // On change sa mise en page
            // Sa position sera déterminée en fonction des valeurs de CSS
            filter.style.position = "absolute";
            // La position verticale du filtre est définie au bord supérieur gauche de la page
            filter.style.top = "0px";
            // La position horizontale du filtre est définie au bord supérieur gauche de la page
            filter.style.left = "0px";
            // On défini la taille du filtre en l'occurence celle de la page entière
            // On teste si le navigateur que l'on utilise est Internet Explorer
            if(navigator.appName === "Microsoft Internet Explorer") {
                if(document.body.scrollHeight < document.body.clientHeight)
                    filter.style.height = document.body.clientHeight;
                else
                    filter.style.height = document.body.scrollHeight;
 
                if(document.body.scrollWidth < document.body.clientWidth)
                    filter.style.width = document.body.clientWidth;
                else
                    filter.style.width = document.body.scrollWidth;
            }
            // Lorsque l'on utilise Firefox, Safari, Chrome, Opera
            else {
                filter.style.width = document.body.scrollWidth;
                filter.style.height = document.body.scrollHeight;
            }
            // On change le curseur de la souris
            filter.style.cursor = "pointer";
            // La couleur de fond du filtre sera celle fournie en argument
//            changeColor(Color);
            changeColor("lightgrey");
            // On change la valeur de la transparence du filtre
//            changeOpacity(Opacity);
            changeOpacity(75);
 
            // Ici on s'abonne à l'événement Click sur notre filtre
            if(filter.addEventListener)
                filter.addEventListener("click", this.destroy, false);
            else if(filter.attachEvent)
                filter.attachEvent("onclick", this.destroy);
 
        }
    }
 
    // Affiche le filtre et la boîte
    this.show = function(id, x, y) {
        if(id == null)
            throw "id argument can't be null value";
        if(box == null)
            box = document.getElementById(id);
 
        if(filter != null && box != null) {
             document.body.appendChild(filter);
            box.style.position = "absolute";
            // Change la position x de la fenêtre flottante
            // On assigne une valeur par défaut à x si son type n'est pas bon
            // ou si la valeur de l'argument est nulle
            if(x == null || !(typeof x == 'number'))
                box.style.left = "0px";
            else
                box.style.left = x + "px";
 
            // Change la position y de la fenêtre flottante
            // On assigne une valeur par défaut à y si son type n'est pas bon
            // ou si la valeur de l'argument est nulle
            if(y == null || !(typeof y == 'number'))
                box.style.top = "0px";
            else
                box.style.top = y + "px";
 
            box.style.zIndex = "9999";
            box.style.visibility = "visible";
 
        }
    }
 
	// Détruit le filtre et masque la boîte
    this.destroy = function() {
        if(filter) {
		   if(filter.removeEventListener)
{
				filter.removeEventListener("click", this.destroy, false);
}
		   else if(filter.detachEvent)
{
				//filter.detachEvent("onclick", this.destroy);
 
//            document.body.removeChild(filter);
}
		}
 
        if(box)
{
//           box.style.visibility = "hidden";
}
        box = null;
        color = null;
        filter = null;
        filterImage = null;
    }
 
	// Change la couleur du filtre
    function changeColor(newColor) {
        // On teste le type de l'argument
        if(!(typeof newColor == 'string'))
            throw "newColor argument must be a String object";
 
        if(filter) {
            filter.style.backgroundColor = newColor;
        }
    }
 
    // Change la transparence du filtre
    function changeOpacity(newOpacity) {
        // On teste le type de l'argument
        if(!(typeof newOpacity == 'number')) {
           throw "newOpacity argument must be Number object";
        }
 
        // On convertit en entier si c'est un réel qui est passé en argument
        var opacityInteger = parseInt(newOpacity);
 
        // On vérifie si la valeur est comprise entre 0 et 100
        // La valeur du filtre à 0 le rendant entièrement transparent
        // La valeur du filtre à 100 le rendant entièrement opaque
        if(opacityInteger < 0 && opacityInteger > 100)
            throw "opacity invalid value";
 
        if(filter) {
            // On convertit la valeur en réel pour qu'elle soit exploitable
            // par la propriété CSS opacity
            opacity = newOpacity / 100;
 
            var appName = navigator.appName;
            // On teste le type du navigateur
            if(appName === "Netscape" || appName === "Opera") {
                filter.style.opacity = opacity;
            }
            else
                filter.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=" + newOpacity  + ")";
       }
    }
};
 
function showForm() {
	LightBox.init(75, "black");
	LightBox.show("ConnectionForm", 500, 200);
	document.frmMain.txtLogin.focus();
}
 
</script>
 
</head>
<body onload="showForm()">
<form name="frmMain" method="post">
<p>
<img SRC="../images/logo.gif" WIDTH="243" HEIGHT="38">
<br>
<font style="font-variant:small-caps; font-size:18px; font-weight:bold;">
COGIP
</font>
<br>
<div id="ConnectionForm" style="visibility:hidden; border:outset 3px black; width:300px; height:95px; padding:5px; background-color:white">
	<fieldset style="height:145px;">
		<legend>Connexion</legend>
		<div>
			<div style="padding-top:20px">Identifiant :</div>
			<input type="text" name="txtLogin" />
		</div>
		<div>
			<div style="padding-top:20px">Mot de passe :</div>
			<input type="password" name="txtPwd" />
		</div>
	</fieldset>
 
	<div style="margin-top:5px;text-align:center;">
		<input type="submit" style="background-color:lightgrey;" value="Se connecter" height="35px" / id=submit1 name=submit1>
		<input type="button" style="background-color:lightgrey;" value="     Annuler     " height="35px" onclick="window.close();" id=button1 name=button1>
	</div>
</div>
 
<br><br>
</form>
</body>
</html>