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 :

shoutbox qui fonctionnne sous Firefox mais pas sous IE


Sujet :

JavaScript

  1. #1
    Membre du Club Avatar de Devether
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 66
    Points : 54
    Points
    54
    Par défaut shoutbox qui fonctionnne sous Firefox mais pas sous IE
    Bonjour,

    J'ai une shoutbox, développée pas mes soins, sur mon site qui permet aux utilisateurs enregistrés de poster des messages en live puisque celle ci se rafraîchie toute seule sans recharger la page (AJAX).

    Je dois avoir un problème de Javascript puisque quand je poste un message sur Firefox, celui ci s'affiche sans problème. Mais quand je poste sous IE, il n'affiche rien du tout et j'ai une "erreur sur la page" dans a barre d'états.

    Message d'erreur :
    Ligne : 109
    Car : 2
    Erreur : 'Post' a la valeur Null ou n'est pas un objet
    Code : 0
    URL : http://www.lafter.fr/Forum/index.php?
    Code HTML de la shoutbox :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <form action="http://www.lafter.fr/Forum/index.php?" name="REPLIER_bis" onsubmit="return false;" methode="Post">
    	<input name="act" value="module" type="hidden"/>
    	<input name="module" value="shoutbox" type="hidden"/>
    	<input name="cmd" value="post" type="hidden"/>
    	<input name="source" value="formulaire" type="hidden"/>
    	<input type="text" name="Post" size="40"/>
    	<input type="submit" value="Poster" onclick="postShout()"/>
    	<input type="submit" name="sb_stop" value="Stop Actu" onclick="stopStartActu()"/>
    	<input type='reset' name='reset' value='Effacer'/>
    	<input type='button' onclick="emo_fen();" value='Smileys'/>
    </form>

    Le source de la shoutbox en js : shoutbox.js
    Le site web : http://www.lafter.fr
    Compte de test : Login : IBF / mot de passe : IBF

    Si une âme charitable voulait bien me venir en aide ce serais sympathique
    Je m'arrache les cheveux depuis un certain temps.

    Cordialement,

    Devether

  2. #2
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Points : 3 264
    Points
    3 264
    Par défaut
    et avec
    dans ta balise form?
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    N'oubliez pas de cliquer sur quand votre question à trouvé une solution.

    Si vous n'avez pas encore lu les règles du club, mieux vaut tard que jamais!

  3. #3
    Membre du Club Avatar de Devether
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 66
    Points : 54
    Points
    54
    Par défaut
    Heu...Non... Ce n'est pas ça...

    Merci de ta réponse

  4. #4
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    obj.Post.value
    c'est ca a mon avis.

    Je ne vois rien dans ton code qui ai ce nom ou cet id.

    Et essayes plutot de leur mettre des id en plus des name.
    Comme ca tu utiliseras document.getElementById au lieu de la notation avec les name
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  5. #5
    Membre confirmé
    Avatar de FMaz
    Inscrit en
    Mars 2005
    Messages
    643
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 643
    Points : 640
    Points
    640
    Par défaut
    <input type="text" name="Post" size="40"/>

    Et depuis quand tu nomme des champs avec des noms réservés ?!
    met: postmsg à la place.

  6. #6
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Citation Envoyé par FMaz
    <input type="text" name="Post" size="40"/>

    Et depuis quand tu nomme des champs avec des noms réservés ?!
    met: postmsg à la place.
    et depuis quand Post est un nom réservé ?
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  7. #7
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    arf j'avais meme pas vu mais cette notation avec les name ne vaut rien, vaut mieux mettre des id et faire des getElementById.

    Et post n'est pas un mot réservé du langage javascript
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  8. #8
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par siddh
    arf j'avais meme pas vu mais cette notation avec les name ne vaut rien, vaut mieux mettre des id et faire des getElementById.
    Pour une explication plus complete, c'est dans la
    http://javascript.developpez.com/faq...rm.input.acces

  9. #9
    Membre du Club Avatar de Devether
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 66
    Points : 54
    Points
    54
    Par défaut
    Même en mettant "id" a la place de "name" ça me fait toujours la même erreur.

  10. #10
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    et a tu mis des getElementById ?
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  11. #11
    Membre du Club Avatar de Devether
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 66
    Points : 54
    Points
    54
    Par défaut
    ça y est j'ai compris ce que vous vouliez dire

    je le fais et je vous tiens au courant

  12. #12
    Membre du Club Avatar de Devether
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 66
    Points : 54
    Points
    54
    Par défaut
    Bon! J’ai changé le code avec des getElementById() et ça a fonctionné sous IE mais pas correctement. A savoir que si je clique sur le bouton pour arrêter le rafraîchissement auto ça enlève les messages postés sous IE.

    J’ai donc remplacé tout ça par 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
    function postShout()
    {
        var obj = document.forms['REPLIER'];
        if(document.forms['REPLIER_bis'])
            obj = document.forms['REPLIER_bis'];
        if(obj.elements['Post'].value.length<2)
            alert(lang_msg_msg);
        else
        {
            if(stop==0) clearTimeout(timer);
            /* Mise a jours */
            if(filtre == '1')
                affiche(ipb_base_url+'act=module&module=shoutbox&cmd=post&Post='+obj.elements['Post'].value+'&type='+type); 
            else
                affiche(sb_base_url+'msg='+obj.elements['Post'].value+'&type='+type+'&sb_time='+sb_time+'&sb_color='+sb_color); 
            /* Effacement du message */
            obj.elements['Post'].value = '';
            /* Prepare l'initialistion */
            if(stop==0) timer=setTimeout("actuShout(0)",delay*1000);
        }
        valid=false;
        if(bis && document.forms['REPLIER_tmp'])
        {
            obj.name = 'REPLIER_bis';
            document.REPLIER_tmp.name = 'REPLIER';
            document.REPLIER_tmp = false;
        }
    }
    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
    function stopStartActu()
    {
        var obj = document.forms['REPLIER'];
        if(document.forms['REPLIER_bis'])
            obj = document.forms['REPLIER_bis'];
     
        if(stop==0)
        {
            clearTimeout(timer);
            stop=1;
            obj.sb_stop.value=lang_sb_start;
        }
        else
        {
            stop=0;
            obj.sb_stop.value=lang_sb_stop;
            actuShout(0);
        }
        valid=false;
     
        if(bis && document.REPLIER_tmp)
        {
            obj.name = 'REPLIER_bis';
            document.REPLIER_tmp.name = 'REPLIER';
            document.REPLIER_tmp = false;
        }
    }
    Un autre truc que je ne comprend pas c'est que sous Firefox je tape le message, j'appuie sur la touche "Entrer" et le message est posté alors que sous IE je suis obligé de cliquer sur le bouton "Poster".

  13. #13
    Membre du Club Avatar de Devether
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 66
    Points : 54
    Points
    54
    Par défaut
    un petit UP pour relancer un peu mon probleme..

    On ne sait jamais, peut etre qu'il y en a qui ne l'ont pas vu et qui peuvent m'aider

Discussions similaires

  1. Script qui fonctionne sous FireFox mais pas sous IE
    Par Sebastien14 dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 27/01/2009, 10h32
  2. Script qui marche sous Firefox mais pas sous IE
    Par GreatDeveloperOnizuka dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/01/2008, 12h04
  3. script qui marche sous ie mais pas sous firefox
    Par sebicool dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 24/05/2007, 00h07
  4. Curseur de saisie qui disparait sous firefox mais pas sous IE
    Par s1pike dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 10/10/2006, 23h58
  5. Réponses: 2
    Dernier message: 21/06/2006, 12h44

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