Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/08/2011, 11h18   #1
Membre du Club
 
Homme
Développeur informatique
Inscription : avril 2009
Messages : 235
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 21
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : avril 2009
Messages : 235
Points : 42
Points : 42
Par défaut Affichage de formulaire

Bonjour à tous,

J'ai un petit soucis d'ordre JavaScript (du moins je pense) qui demeure un mystère total...
Donc, j'ai une fonction JavaScript qui permet d'afficher un formulaire sous fond grisé en premier plan que voici :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// Open the lightbox
function openbox(formtitle, idBox, shadowing, boxtitle, fadin)
{
 
	var box = document.getElementById(idBox); 
	document.getElementById(shadowing).style.display='block';
 
	var btitle = document.getElementById(boxtitle);
	btitle.innerHTML = formtitle;
 
	if(fadin)
	{
		gradient(idBox, 0);
		fadein(idBox);
	}
	else
	{ 	
		box.style.display='block';
	}  	
}
Et le mystère c'est que l'affichage fonctionne correctement qu'avec les id shadowing, boxtitle et box. Lorsque j'essaye de changer les ids comme dans ces 2 cas, impossible d'obtenir un affichage correct (en fait elles sont par défaut sur la page et mal présentées).
Voici les différentes utilisations :

Code :
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
//Exemple qui fonctionne
<div id="shadowing"></div>
	<div id="box">
		<span id="boxtitle"></span>
		<p align="center"> Affichage :
			<select name="select_ihm" STYLE="width:200" id="select_ihm">
				<option value="semaphore_grp.php" select>Groupes</option>
				<option value="semaphore.php">Automates</option>
			</select>
		</p>
		<p align="center"> 
			<button class="valider" type="submit" value="1" onclick="document.location.href=document.getElementById('select_ihm').value"><img src="ressources/button_valid.png" border='0'></button>
		</p>
	</div>
 
//Exemples ne fonctionnant pas
<div id="shadowingFiltre"></div>
	<div id="boxFiltre">
		<span id="boxtitleFiltre"></span>
			<form name="createFiltre" method="Post" action="" onsubmit="return validation();">
			Nom du filtre :<input type="text" name="nom_filtre" id="nom_filtre" value="" style="font-size:10px;width:157px;"/></br>
			Par d&eacute;faut :<input type="checkbox" name="defaut" id="defaut" value="Y"/></br></br>
		<table>
			<tr>
				<td>
					<input type="hidden" name="acces" id="acces" value="<?php echo $_REQUEST['acces']; ?>">
					<select name="liste_gauche" id="id_gauche" multiple size="10" ondblclick="javascript:move_right()" onload="javascript:init()" style="width:250px">
                    </select><br />                                        
                </td>
                <td><a href="javascript:move_right()"><img src="./ressources/control_right.png" border="0" onMouseOver="this.src='./ressources/control_right_over.png'" onMouseOut="this.src='./ressources/control_right.png'" alt=">>" title="Ajouter la sélection"></a>
					<br />
                    <a href="javascript:move_left()"><img src="./ressources/control_left.png" border="0" onMouseOver="this.src='./ressources/control_left_over.png'" onMouseOut="this.src='./ressources/control_left.png'" alt="<<" title="Retirer la sélection"></a>
                </td>
                <td>
					<select name="liste_droite" id="id_droite" multiple size="10" ondblclick="javascript:move_left()"  style="width:250px"></select>              
				</td>
           </tr>
		</table>
		<p align="center"> 
			<input type="hidden" name="liste_grp" id="liste_grp" value="">
			<button class="valider" type="submit" name="valider" ><img src="ressources/button_valid.png" border='0'></button>
			<button class="annuler" type="reset" value="0" onclick="closebox()"><img src="ressources/button_cancel.png" border='0'></button>		
		</p>
		</form>
	</div>
 
	<!-- fenêtre d'affichage de choix d'un filtre -->
	<div id="shadowingChoix"></div>
	<div id="boxChoix">
		<span id="boxtitleChoix"></span>
			<form name="choixFiltre" method="Post" action="" >
		<table>
			<tr>
				<td>
					<select name="liste_filtres" id="liste_filtres" style="width:250px";>
					<?php
						if(file_exists($_SESSION[SITE]["login"].'.xml'))
						{
							$filtres = simplexml_load_file($_SESSION[SITE]["login"].'.xml'); 
							foreach($filtres->Filtre as $filtre) 
							{
								echo" <option value='".$filtre->Groupes."'>".$filtre->Nom."</option>";
							}
						}
					?>
					</select>
				</td>
           </tr>
		</table>
		<p align="center"> 
			<input type="hidden" name="liste_grp" id="liste_grp" value="">
			<button class="valider" type="submit" name="validerFiltre" ><img src="ressources/button_valid.png" border='0'></button>
			<button class="annuler" type="reset" value="0" onclick="closebox()"><img src="ressources/button_cancel.png" border='0'></button>	
			<button class="newfiltre" name="newfiltre" type="submit" onclick="openbox('Nouveau filtre', 'boxFiltre', 'shadowingFiltre', 'boxtitleFiltre', 0)"><img src="ressources/button_create.png" border='0'></button>
		</p>
		</form>
	</div>
Et je ne peux pas laisser 2 fois les paramètres qui fonctionnent car j'ai 2 formulaires qui peuvent être mis en avant sous fond grisé dans une seule et même page.
Est-ce que quelqu'un a déjà recontré un problème de la sorte car là je sèche vraiment ?

Merci d'avance
drake56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 12h39   #2
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Bonjour,
peut-être en déclarant explicitement les variables :
Code :
1
2
3
4
5
function openbox(formtitle, idBox, shadowing, boxtitle, fadin)
{
	var formtitle, idBox, shadowing, boxtitle, fadin;
	// ....
}
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 13h41   #3
Membre du Club
 
Homme
Développeur informatique
Inscription : avril 2009
Messages : 235
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 21
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : avril 2009
Messages : 235
Points : 42
Points : 42
Merci pour ta suggestion mais hélas ça ne change rien
drake56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 13h46   #4
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 037
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 037
Points : 45 137
Points : 45 137
Nooooooooooon !
surtout pas si tu redéclares les variables dans la fonction tu les effaces !

Tu as un message d'erreur, un comportement à nous décrire ?

au passage onload sur un select est vain !

et un evènement javascript n'attentd par une recette de crèpes suzette. Donc
ne sert à rien
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 13h55   #5
Membre du Club
 
Homme
Développeur informatique
Inscription : avril 2009
Messages : 235
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 21
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : avril 2009
Messages : 235
Points : 42
Points : 42
Merci pour ta réponse alors pas de message d'erreur et le comportement c'est que les 2 formulaires se mettent en haut de la page.
Sinon si j'enlève le onload au select ça ne fonctionne plus j'ai une page vide

Edit : Je viens de trouver une erreur, c'était dans le css, j'utilisai les id et non les class ce qui fait que ça ne pouvait pas marcher, erreur d'inattention mais problème résolu maintenant
drake56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h31.


 
 
 
 
Partenaires

Hébergement Web