Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, 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 27/01/2012, 18h32   #1
Membre à l'essai
 
Inscription : octobre 2008
Messages : 86
Détails du profil
Informations forums :
Inscription : octobre 2008
Messages : 86
Points : 24
Points : 24
Par défaut Fonctionnement de .click() sous firefox

Bonjour,

J'essaye actuellement de lancer de lancer un clique d'un champ input file et bizarrement, le code fonctionne bien sous IE mais pas sous FF.


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
 
<form action="monAction" enctype="multipart/form-data" method="POST" id="formFile">
 
<input type='file' name='file1' id='file1' />
 
</form>
 
 
<button id="addCover">Ajouter le cover</button>
 
 
<script type="text/javascript">
 
	document.getElementById('addCover').onclick = function(){
 
		$('#file1').click();
		//$('#file1').trigger('click');
 
	};
</script>
Autant $('file1').click(); que $('#file1').trigger('click'); fonctionnent sous IE
et pourtant sous FF, rien. Aucun résultat, aucune erreur. Il ne se produit tout simplement rien.

Quelqu'un aurait une idée ?

Merci
Jonathan.Harvey est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 18h41   #2
Membre éclairé
 
Homme Yann
IUT Informatique
Inscription : mars 2011
Messages : 342
Détails du profil
Informations personnelles :
Nom : Homme Yann
Localisation : France

Informations professionnelles :
Activité : IUT Informatique

Informations forums :
Inscription : mars 2011
Messages : 342
Points : 375
Points : 375
Salut,

Si tu charge JQuery tu peux faire:
Code :
1
2
3
4
 
$("#tonId").click(function(){
   // Code à exécuter
});
malgache est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 18h44   #3
Membre à l'essai
 
Inscription : octobre 2008
Messages : 86
Détails du profil
Informations forums :
Inscription : octobre 2008
Messages : 86
Points : 24
Points : 24
Le problème c'est que je crée dynamiquement mes input file.

Il peux donc y avoir de 1 à x, input file.

Je ne peux donc pas prévoir un nombre inconnu de
Code :
1
2
3
4
 
$("#tonId").click(function(){
   // Code à exécuter
});
Jonathan.Harvey est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 18h56   #4
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 808
Points : 35 786
Points : 35 786
Je viens de tester sur Firefox et
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
<!doctype html>
<html lang="fr">
<head>
	<meta charset="utf-8" />
	<title>file</title>
    <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
	<form action="monAction" enctype="multipart/form-data" method="POST" id="formFile">
 
<input type='file' name='file1' id='file1' />
 
</form>
 
 
<button id="addCover">Ajouter le cover</button>
 
 
<script type="text/javascript">
 
	document.getElementById('addCover').onclick = function(){
 
		$('#file1').click();
		//$('#file1').trigger('click');
 
	};
</script>
</body>
</html>
fonctionne très bien...
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 18h57   #5
Membre éclairé
 
Homme Yann
IUT Informatique
Inscription : mars 2011
Messages : 342
Détails du profil
Informations personnelles :
Nom : Homme Yann
Localisation : France

Informations professionnelles :
Activité : IUT Informatique

Informations forums :
Inscription : mars 2011
Messages : 342
Points : 375
Points : 375
chaque input aura son propres code ?

sinon tu peux essayé en bouclant avec un foreach...
malgache est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 19h04   #6
Membre à l'essai
 
Inscription : octobre 2008
Messages : 86
Détails du profil
Informations forums :
Inscription : octobre 2008
Messages : 86
Points : 24
Points : 24
Citation:
Envoyé par malgache Voir le message
chaque input aura son propres code ?

sinon tu peux essayé en bouclant avec un foreach...
Donc je fais 200-400 fois la même fonction, au cas ou ? ....

foreach ?


@Bovino : Je viens pourtant de le tester à nouveau avec votre code et sa ne fonctionne pas plus.

Mais sa fonctionne avec IE !

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
 
<!doctype html>
<html lang="fr">
<head>
	<meta charset="utf-8" />
	<title>file</title>
    <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
 
	<form action="monAction" enctype="multipart/form-data" method="POST" id="formFile">
 
 
<input type='file' name='file1' id='file1' />
 
</form>
 
 
<button id="addCover">Ajouter le cover</button>
 
 
<script type="text/javascript">
 
	document.getElementById('addCover').onclick = function(){
 
		$('#file1').click();
		//$('#file1').trigger('click');
 
	};
</script>
</body>
</html>
Firefox v3.6.25
Jonathan.Harvey est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 21h48   #7
Rédacteur
 
Avatar de danielhagnoul
 
Homme Daniel Hagnoul
Étudiant perpétuel
Inscription : février 2009
Messages : 3 221
Détails du profil
Informations personnelles :
Nom : Homme Daniel Hagnoul
Âge : 61
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant perpétuel
Secteur : Enseignement

Informations forums :
Inscription : février 2009
Messages : 3 221
Points : 6 767
Points : 6 767
Bonsoir

Les navigateurs ne sont pas d'accord sur l'affichage de l'input et le type de l'URL, mais ma variable "result" contient bien le résultat espéré sous IE9, C et F.

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
<!doctype html>
<html lang="fr">
<head>
	<meta charset="utf-8">
	<title>file</title>
    <style>
        input { width:800px; }
    </style>
</head>
<body>
	<form id="formFile" action="monAction" enctype="multipart/form-data" method="POST">
        <input id='file1' type='file' name='file1' />
    </form>
    <button id="addCover">Ajouter le cover</button>
    <script src="http://code.jquery.com/jquery-latest.js"></script>
    <script>
        $(function(){
            var result = "";
 
            $( "#file1" ).on( "change", function(){
 
                if ( result.length > 0 ){
                    result += " , " + $( this ).val();
                } else {
                    result = $( this ).val();
                }
 
                console.log( result );
            });
 
            $( "#addCover" ).on( "click", function(){
                $( "#file1" ).click();
            });
        });
    </script>
</body>
</html>
__________________

FAQ jQuery

Mon cahier d’exercices sur jQuery & Co

Si un message vous a aidé ou vous semble pertinent, votez pour lui !
danielhagnoul est dé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 17h06.


 
 
 
 
Partenaires

Hébergement Web