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

JavaScript Discussion :

Firefox redirige sur une fonction javascript en mettant dans la barre d'adresse le nom de la fonction


Sujet :

JavaScript

  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Avril 2007
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Avril 2007
    Messages : 234
    Points : 338
    Points
    338
    Par défaut Firefox redirige sur une fonction javascript en mettant dans la barre d'adresse le nom de la fonction
    Bonjour,

    J'essaye d'appeler une fonction lorsque je clique sur un lien. Pour cela je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="javascript:getAdmin('<?php echo $element->nom; ?>','false','mail');">Envoyer un mail aux admins</a>
    Ce qui donne par exemple : <a href="javascript:getAdmin('param1','param2','mail');">Envoyer un mail aux admins</a>

    Derrière cette fonction il y a ce code :

    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
    function getAdmin(url, allAdmin, type) {
        var adresse = getAdresse();
        //tab_admin = new Array();
        if(type == 'mail') {
            $.getJSON("http://"+adresse+"/toto/"+json_adresse, function(data){
                    //console.log(data);
     
                    $.each(data.site, function(i,item){
                        if(item.nom == url) {
                            tab_admin = '';
                            $.each(item.auteurs.auteur, function(k,aut){
                                if(tab_admin == '') {
                                    tab_admin = aut.email;
                                }
                                else {
                                    tab_admin = tab_admin + ';' + aut.email;
                                }
     
                            });
     
                            $("#contenu-tabs-1").empty();
                            if(CKEDITOR.instances['corps_mail']) {
                                delete CKEDITOR.instances['corps_mail'];
                            }
     
                            $("#contenu-tabs-1").append("<div id='form_mail' class='ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all'><form action='#'  name='mail' method='POST'><label for='txt_dest'>Destinataire : </label><input type='text' id='txt_dest' name='txt_dest' /><br/><label for='txt_sujet'>Sujet : </label><input type='text' id='txt_sujet' name='txt_sujet' /><textarea  id='corps_mail' name='corps_mail'></textarea><br/><a href='javascript:sendMail();' class='button_mail'>Envoyer</a></form></div>");
                            $("#corps_mail").ckeditor(function() {
                                /* callback code */
                                },
                                {
                                    skin : 'office2003',
                                    language : 'fr',
                                    plugins:'a11yhelp,basicstyles,bidi,blockquote,colorbutton,colordialog,contextmenu,dialogadvtab,find,font,format,horizontalrule,htmldataprocessor,image,indent,justify,link,list,liststyle,maximize,pastetext,sourcearea,table,tabletools,specialchar,tab,templates,toolbar,undo,wysiwygarea,wsc'
                                });
                            //console.log(tab_admin);
                            $("#txt_dest").val(tab_admin);
     
                        }
                    });
                });
            return false
        }
        return false;
    }
    Sous Chrome, pas de problème ça marche.

    Par contre Firefox me fait changer de page et met dans la barre d'adresse le nom de la fonction avec ses paramètre me m'affiche false (ce que retourne la fonction).

    Internet Explorer affiche juste false.

    Quelqu'un pourrait il m'aider ?

    Merci

  2. #2
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    A priori, le href n'est pas employé pour déclencher une fonction JS (même si ça s'est beaucoup fait, pour différentes (et souvent mauvaises) raisons ^^).

    Essaie sur "onclick" (et sans la mention "javascript:" qui ne sert à rien dans une propriété de type gestionnaire d'événement)

    ...pour les linguistes et les curieux >>> générateur de phrases aléatoires

    __________________

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Avril 2007
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Avril 2007
    Messages : 234
    Points : 338
    Points
    338
    Par défaut
    Bonjour,

    Merci ça marche.

    Du coup j'ai mis "#" dans le href et j'utilise onclick. Je pensais, au contraire, que le onclick ne se faisait plus.

    Merci

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    pour eviter un rechargement de page rajoute un return false dans le onclick après la fonction.
    Ma page Developpez - Mon Blog 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

    Venez sur le Chat de Développez !

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Avril 2007
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Avril 2007
    Messages : 234
    Points : 338
    Points
    338
    Par défaut
    Ben une fois dans le onclick, ça ne redirige plus. Mais bon je vais quand même rajouter le return false par mesure de précaution.

    Merci.

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    Encore une fois ça dépend du navigateur.
    Le href n'est pas inhibé du fait d'un ajout de onclick
    dans l'ordre des évènements le onclick est lancé, puis le href est pris en compte.

    et selon le navigateur # dans le href peut être considéré comme une ancre (par défaut le haut de page) voir par certains comme une url de rechargement de page.
    Ma page Developpez - Mon Blog 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

    Venez sur le Chat de Développez !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Javascript] rediriger sur une page en javascript
    Par tioseb dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 15/02/2006, 14h55
  2. comment rediriger sur une page html en fonction de la langue
    Par pierrot10 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 10/08/2005, 11h42
  3. onChange pas déclanché sur une action javascript ?
    Par Oluha dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 27/06/2005, 16h32
  4. [firefox] plantage sur une url
    Par ggnore dans le forum Firefox
    Réponses: 2
    Dernier message: 12/05/2005, 22h06
  5. Réponses: 4
    Dernier message: 02/06/2004, 16h35

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