Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > Mootools
Mootools Forum d'entraide sur le framework MooTools. Avant de poster : Tutoriels Mootools, FAQ MooTools, Toutes les FAQ 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 03/11/2011, 13h47   #1
Membre régulier
 
franck franck
Développeur Web
Inscription : mai 2010
Messages : 98
Détails du profil
Informations personnelles :
Nom : franck franck
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2010
Messages : 98
Points : 91
Points : 91
Par défaut Submit de formulaire non crossbrowser

Bonjour,

Voila, j'ai un souci avec Mootools sur une fonction.
Le code étant plus explicite je vous le mets et je vous explique.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
window.addEvent('domready',function(){
 
						document.id('sub').addEvent('click',function(){
 
							ajaxFace = new LightFace.Request({
								url: 'admin/modules/agenda/tmp/agenda.php',
								buttons: [
									{ title: 'Valider', event: function() { document.id('Formu').submit();alert('Données transmises!'); this.close(); }, color: 'blue' },
									{ title: 'Annuler', event: function() { this.close(); } }
								],
								request: { 
 
									method: 'post'
								},
								title: 'Formulaire'
							}).open();
 
						});
Sous firefox, Chrome et certaines versions de Safari, le code fonctionne. J'ai une modal windows qui s'ouvre avec mon formulaire et quand je clique sur valider, le formulaire est transmis. Par contre sous IE et d'autres navigateurs, le formulaire n'est pas envoyé, mais j'ai :
Citation:
cet objet ne gère pas cette propriété ou méthode et cela concerne: document.id('Formu').submit();
Avez-vous une solution ?

Franck
franck31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/11/2011, 13h58   #2
Responsable JavaScript & AJAX

 
Avatar de vermine
 
Inscription : mars 2008
Messages : 2 691
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2008
Messages : 2 691
Points : 5 767
Points : 5 767
Bonjour,

A quoi ressemble le code HTML de la modal windows ?
__________________
Elen Poukram - Isegoria - Sandawe
vermine est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/11/2011, 14h08   #3
Membre régulier
 
franck franck
Développeur Web
Inscription : mai 2010
Messages : 98
Détails du profil
Informations personnelles :
Nom : franck franck
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2010
Messages : 98
Points : 91
Points : 91
Voila mon formulaire dans la modal:
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
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
 
echo '<form id="Formu" name="Formu" method="post" action="index.php">';
echo '<input type="hidden" name="valenv" value="valide" />';
 
echo '<table>';
 
 
echo '<tr><td><label>Date départ</label></td>';
echo '<td><select name="jour"><option value="">Jour</option>
							  <option value="01">01</option>
							  <option value="02">02</option>
							  <option value="03">03</option>
							  <option value="04">04</option>
							  <option value="05">05</option>
							  <option value="06">06</option>
							  <option value="07">07</option>
							  <option value="08">08</option>
							  <option value="09">09</option>
							  <option value="10">10</option>
							  <option value="11">11</option>
							  <option value="12">12</option>
							  <option value="13">13</option>
							  <option value="14">14</option>
							  <option value="15">15</option>
							  <option value="16">16</option>
							  <option value="17">17</option>
							  <option value="18">18</option>
							  <option value="19">19</option>
							  <option value="20">20</option>
							  <option value="21">21</option>
							  <option value="22">22</option>
							  <option value="23">23</option>
							  <option value="24">24</option>
							  <option value="25">25</option>
							  <option value="26">26</option>
							  <option value="27">27</option>
							  <option value="28">28</option>
							  <option value="29">29</option>
							  <option value="30">30</option>
							  <option value="31">31</option>
	</select>&nbsp;
	<select name="mois"><option value="">Mois</option>
						<option value="01">01</option>
							  <option value="02">02</option>
							  <option value="03">03</option>
							  <option value="04">04</option>
							  <option value="05">05</option>
							  <option value="06">06</option>
							  <option value="07">07</option>
							  <option value="08">08</option>
							  <option value="09">09</option>
							  <option value="10">10</option>
							  <option value="11">11</option>
							  <option value="12">12</option>
		</select>&nbsp;
		<select name="annee"><option value="">Année</option>
							<option value="2011">2011</option>
							  <option value="2012">2012</option>
							  <option value="2013">2013</option>
							  <option value="2014">2014</option>
							  <option value="2015">2015</option>
							  <option value="2016">2016</option>
							  <option value="2017">2017</option>
							  <option value="2018">2018</option>
							  <option value="2019">2019</option>
							  <option value="2020">2020</option>
							  <option value="2021">2021</option>
							  <option value="2022">2022</option>
							  <option value="2023">2023</option>
							  <option value="2024">2024</option>
							  <option value="2025">2025</option>
							  <option value="2026">2026</option>
							  <option value="2027">2027</option>
							  <option value="2028">2028</option>
							  <option value="2029">2029</option>
							  <option value="2030">2030</option>
				</option>		
<br /><br /></td></tr>';
 
echo '<tr><td><label>Date arrivée</label></td>';
echo '<td><select name="jourarr"><option value="">Jour</option>
							  <option value="01">01</option>
							  <option value="02">02</option>
							  <option value="03">03</option>
							  <option value="04">04</option>
							  <option value="05">05</option>
							  <option value="06">06</option>
							  <option value="07">07</option>
							  <option value="08">08</option>
							  <option value="09">09</option>
							  <option value="10">10</option>
							  <option value="11">11</option>
							  <option value="12">12</option>
							  <option value="13">13</option>
							  <option value="14">14</option>
							  <option value="15">15</option>
							  <option value="16">16</option>
							  <option value="17">17</option>
							  <option value="18">18</option>
							  <option value="19">19</option>
							  <option value="20">20</option>
							  <option value="21">21</option>
							  <option value="22">22</option>
							  <option value="23">23</option>
							  <option value="24">24</option>
							  <option value="25">25</option>
							  <option value="26">26</option>
							  <option value="27">27</option>
							  <option value="28">28</option>
							  <option value="29">29</option>
							  <option value="30">30</option>
							  <option value="31">31</option>
	</select>&nbsp;
	<select name="moisarr"><option value="">Mois</option>
						<option value="01">01</option>
							  <option value="02">02</option>
							  <option value="03">03</option>
							  <option value="04">04</option>
							  <option value="05">05</option>
							  <option value="06">06</option>
							  <option value="07">07</option>
							  <option value="08">08</option>
							  <option value="09">09</option>
							  <option value="10">10</option>
							  <option value="11">11</option>
							  <option value="12">12</option>
		</select>&nbsp;
		<select name="anneearr"><option value="">Année</option>
							<option value="2011">2011</option>
							  <option value="2012">2012</option>
							  <option value="2013">2013</option>
							  <option value="2014">2014</option>
							  <option value="2015">2015</option>
							  <option value="2016">2016</option>
							  <option value="2017">2017</option>
							  <option value="2018">2018</option>
							  <option value="2019">2019</option>
							  <option value="2020">2020</option>
							  <option value="2021">2021</option>
							  <option value="2022">2022</option>
							  <option value="2023">2023</option>
							  <option value="2024">2024</option>
							  <option value="2025">2025</option>
							  <option value="2026">2026</option>
							  <option value="2027">2027</option>
							  <option value="2028">2028</option>
							  <option value="2029">2029</option>
							  <option value="2030">2030</option>
				</option>		
<br /><br /></td></tr>';
 
 
echo '<br /><tr><td><label>Heure départ</label></td>';
echo '<td><input type="text" name="hdebut" value="" /><br /><br /></td></tr>';
echo '<br /><tr><td><label>Heure d\'arrivée</label></td>';
echo '<td><input type="text" name="arr" value="" /><br /><br /></td></tr>';
echo '<br /><tr><td><label>Vol</label></td>';
echo '<td><input type="text" name="vol" value="" /><br /><br /></td></tr>';
//echo '<input type="submit" name="submit" id="subid" value="Valider" />';
 
//echo '<tr><td colspan="2"><input type="button" name="enregistrer" value="valider" /></td></tr>';
echo '</table>';
 
echo '</form>';
franck31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/11/2011, 14h26   #4
Membre chevronné
 
Inscription : juillet 2006
Messages : 1 194
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 1 194
Points : 746
Points : 746
Code :
1
2
 
document.id('Formu').submit();
Devrait être

Code :
1
2
 
document.getElementById('Formu').submit();
Sergejack est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/11/2011, 14h35   #5
Membre régulier
 
franck franck
Développeur Web
Inscription : mai 2010
Messages : 98
Détails du profil
Informations personnelles :
Nom : franck franck
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2010
Messages : 98
Points : 91
Points : 91
J'ai déjà essayé cette forme mais toujours le même message.
IE ne reconnais pas apparement la methode submit()
franck31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/11/2011, 14h41   #6
Responsable JavaScript & AJAX

 
Avatar de vermine
 
Inscription : mars 2008
Messages : 2 691
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2008
Messages : 2 691
Points : 5 767
Points : 5 767
Citation:
Envoyé par Sergejack Voir le message
Devrait être

Non.
Mootools a défini son sélecteur comme étant document.id et lui a donné l'alias $.

Et IE accepte le .submit().
__________________
Elen Poukram - Isegoria - Sandawe
vermine est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/11/2011, 14h50   #7
Responsable JavaScript & AJAX

 
Avatar de vermine
 
Inscription : mars 2008
Messages : 2 691
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2008
Messages : 2 691
Points : 5 767
Points : 5 767
Essayez peut-être :

Code :
this.document.id('Formu').submit();
__________________
Elen Poukram - Isegoria - Sandawe
vermine est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/11/2011, 15h33   #8
Membre régulier
 
franck franck
Développeur Web
Inscription : mai 2010
Messages : 98
Détails du profil
Informations personnelles :
Nom : franck franck
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2010
Messages : 98
Points : 91
Points : 91
ça me renvoi :
Citation:
'this.document' a la valeur Null ou n'est pas un objet.
et bloque l'envoi.
franck31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 09h41   #9
Responsable JavaScript & AJAX

 
Avatar de vermine
 
Inscription : mars 2008
Messages : 2 691
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2008
Messages : 2 691
Points : 5 767
Points : 5 767
J'ai quand même tendance à dire que document.id va regarder la page mère et non la page fille (mais pas sous tous les navigateurs, apparement ). C'est pourquoi je voulais jouer avec la notion de this comme pour les boutons de la page fille.
__________________
Elen Poukram - Isegoria - Sandawe
vermine est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 11h23   #10
Membre régulier
 
franck franck
Développeur Web
Inscription : mai 2010
Messages : 98
Détails du profil
Informations personnelles :
Nom : franck franck
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2010
Messages : 98
Points : 91
Points : 91
Ce qui est pénible c'est que cela ne fonctionne pas surtout sous ie.
Sous ie mootools submit() apparement n'est pas pris en compte faut il le remplacer par une fonction send()?
franck31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 11h34   #11
Responsable JavaScript & AJAX

 
Avatar de vermine
 
Inscription : mars 2008
Messages : 2 691
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2008
Messages : 2 691
Points : 5 767
Points : 5 767
Oui, essayez toujours. En espérant que ce soit bien ça le problème parce que cette histoire de submit() me perturbe.
__________________
Elen Poukram - Isegoria - Sandawe
vermine est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 12h30   #12
Membre régulier
 
franck franck
Développeur Web
Inscription : mai 2010
Messages : 98
Détails du profil
Informations personnelles :
Nom : franck franck
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2010
Messages : 98
Points : 91
Points : 91
En fait voila j'ai modifié dans mon js ceci:

Code :
1
2
3
4
5
 
buttons: [
									{ title: 'Valider', event: function() { document.id('Formu').submit();alert('Données transmises!'); this.close(); }, color: 'blue' },
									{ title: 'Annuler', event: function() { this.close(); } }
								],
par
Code :
1
2
3
4
5
 
buttons: [
									{ title: 'Valider', event: function() { sub();alert('Données transmises!'); this.close(); }, color: 'blue' },
									{ title: 'Annuler', event: function() { this.close(); } }
								],
et pour sub() j'ai fait ceci:
Code :
1
2
3
4
5
 
function sub(){
						var d = document.getElementById('Formu');
						alert(d);
					}
l'alert me renvoi: [object HTMLUnknowElement]
franck31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 12h33   #13
Responsable JavaScript & AJAX

 
Avatar de vermine
 
Inscription : mars 2008
Messages : 2 691
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2008
Messages : 2 691
Points : 5 767
Points : 5 767
Et sur les autres navigateurs, ça renvoie quoi ?
__________________
Elen Poukram - Isegoria - Sandawe
vermine est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 12h35   #14
Membre régulier
 
franck franck
Développeur Web
Inscription : mai 2010
Messages : 98
Détails du profil
Informations personnelles :
Nom : franck franck
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2010
Messages : 98
Points : 91
Points : 91
sur les autres j'ai: [object HTMLElement]
franck31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 12h46   #15
Membre régulier
 
franck franck
Développeur Web
Inscription : mai 2010
Messages : 98
Détails du profil
Informations personnelles :
Nom : franck franck
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2010
Messages : 98
Points : 91
Points : 91
si tu veux jetter un coup d'oeil sur la page je peux te donner le lien en mp pour avoir une idée.
franck31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 13h34   #16
Responsable JavaScript & AJAX

 
Avatar de vermine
 
Inscription : mars 2008
Messages : 2 691
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2008
Messages : 2 691
Points : 5 767
Points : 5 767
Uniquement dans un souci de protection des données alors.
__________________
Elen Poukram - Isegoria - Sandawe
vermine est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 15h13   #17
Membre régulier
 
franck franck
Développeur Web
Inscription : mai 2010
Messages : 98
Détails du profil
Informations personnelles :
Nom : franck franck
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2010
Messages : 98
Points : 91
Points : 91
Oui car c'est un admin et je dois te donner la connexion
franck31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 15h38   #18
Membre chevronné
 
Inscription : juillet 2006
Messages : 1 194
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 1 194
Points : 746
Points : 746
Votre html est simplement invalide.

Code :
1
2
3
4
5
 
<br /><br /></td></tr>';
 
 
echo '<br /><tr><td><label>Heure départ</label></td>';
BR comme enfant direct d'une table, c'est sand doute ce qui compromet finalement votre formulaire pour IE.

Retirez donc juste ce "<br />" là.

Note, il y en a peut-être d'autres aillleurs, mais un seul peut suffire.
Sergejack est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 16h04   #19
Membre régulier
 
franck franck
Développeur Web
Inscription : mai 2010
Messages : 98
Détails du profil
Informations personnelles :
Nom : franck franck
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2010
Messages : 98
Points : 91
Points : 91
Sur la page du formulaire il n'y en a pas d'autre par contre sur ma page parent il me dit que ça c'est pas bon: <table align="left" width="200">.
Pourquoi?
franck31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 16h13   #20
Responsable JavaScript & AJAX

 
Avatar de vermine
 
Inscription : mars 2008
Messages : 2 691
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2008
Messages : 2 691
Points : 5 767
Points : 5 767
Je vois que vous êtes en ce moment-même en train de changer la page. Cependant, j'ai eu le temps de faire des tests et... Ca ne fonctionne ni sous FF ni sous Chrome.
La console FF me dit que document.getElementById('Formu') (comprendre 'agenda') n'est pas connu.
__________________
Elen Poukram - Isegoria - Sandawe
vermine est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h07.


 
 
 
 
Partenaires

Hébergement Web