IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Fonctionnement de .click() sous firefox


Sujet :

jQuery

  1. #1
    Membre actif
    Inscrit en
    Octobre 2008
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 86
    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 : 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
     
     
    <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

  2. #2
    Membre chevronné
    Homme Profil pro
    IUT Informatique
    Inscrit en
    Mars 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : IUT Informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 412
    Par défaut
    Salut,

    Si tu charge JQuery tu peux faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $("#tonId").click(function(){
       // Code à exécuter
    });

  3. #3
    Membre actif
    Inscrit en
    Octobre 2008
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 86
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $("#tonId").click(function(){
       // Code à exécuter
    });

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Je viens de tester sur Firefox et
    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
    <!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 !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre chevronné
    Homme Profil pro
    IUT Informatique
    Inscrit en
    Mars 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : IUT Informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 412
    Par défaut
    chaque input aura son propres code ?

    sinon tu peux essayé en bouclant avec un foreach...

  6. #6
    Membre actif
    Inscrit en
    Octobre 2008
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 86
    Par défaut
    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 : 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
     
    <!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

  7. #7
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Belgique

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

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    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 : 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
    <!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>

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

Discussions similaires

  1. event click() sous Firefox et ie
    Par dicyz dans le forum jQuery
    Réponses: 1
    Dernier message: 27/06/2013, 15h19
  2. double click sous firefox
    Par caro71ol dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 25/02/2011, 11h55
  3. Fonctionnement de borderColor sous Firefox
    Par Ishizaki dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/02/2009, 17h14
  4. innerHTML fonctionne (presque) pas sous Firefox
    Par briegel dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/02/2009, 18h56
  5. Java ne fonctionne pas sous Firefox
    Par Info-Rital dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 29/07/2004, 23h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo