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 :

History.back() non fonctionnel sous Firefox


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 37
    Points : 29
    Points
    29
    Par défaut History.back() non fonctionnel sous Firefox
    Salut à tous, petit problème en JS.
    J'utilise un body.onload de check_field.

    Check field se situe dans du JS qui est reconnu, pas de soucis. J'ai fait une alert pour voir si on entrait bien dans la fonction, et c'est bien le cas.

    A la fin de la fonction, on trouve un history.back() qui permet de recharger la page précédente en cas d'erreurs.

    Le history.back() fonctionne très bien sous IE, mais Firefox, pas moyen que ça fonctionne.

    J'ai testé history.go(-1), mais même résultat.

    Avez-vous une idée d'où peut provenir le problème ?

    Merci d'avance.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 59
    Points : 61
    Points
    61
    Par défaut
    Bonjour,

    Pourrait-on avoir un extrait du code ?
    Avez-vous installé Firebug sous Firefox pour pouvoir détailler tout ça ?

  3. #3
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 37
    Points : 29
    Points
    29
    Par défaut
    Il semble que Firebug ne détecte pas d'erreurs.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body onload="check_field('<? echo $value_error ?>');">
    $value_error est une string qui contient la liste des erreurs lors de la modification d'un formulaire (par exemple : champ non renseigné).

    Ensuite on se sert de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function check_field(value_error)
    {
    	if(value_error!="")
    	{
    		alert(value_error);
    		history.back();
    	}	
     
    }
    Donc si la string erreur n'est pas vide (donc une ou plus erreur(s) lors de l'envoi du formulaire), on indique à la personne ce qui n'est pas bon avec le alert, puis on revient sur la page précédente.

    J'avoue que je suis un peu perdu, car sur une autre version de ce fichier, la redirection se fait très bien avec le même code.

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour et bienvenue sur Developpez.com

    Tu as les alert() mais pas le history.back() ?
    Ou même pas les alert() ?

    EDIT :
    Citation Envoyé par Guillaume_Caldera Voir le message
    sur une autre version de ce fichier, la redirection se fait très bien avec le même code.
    Et la même valeur pour value_error ?

    A+

  5. #5
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 37
    Points : 29
    Points
    29
    Par défaut
    J'ai bien l'alert qui s'affiche, mais le history.back() ne veut pas fonctionner (sous firefox uniquement, il fonctionne très bien sous IE, un comble).*

    A noter que ce fichier est un copier/coller en grande partie du fichier dont je parlais avant, qui fonctionnait correctement sous IE et sous FF.

    La valeur de value_error se compose lors de la validation du formulaire, dans la page vers laquelle le form est dirigé. Grâce à un autre fichier JS qui fonctionne très bien d'ailleurs puisque finalement, lecontenu qu'il génère est très correct (vu dans alert).

    Merci pour ton Bienvenue

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par Guillaume_Caldera Voir le message
    J'avoue que je suis un peu perdu, car sur une autre version de ce fichier, la redirection se fait très bien avec le même code.
    Citation Envoyé par Guillaume_Caldera Voir le message
    J'ai bien l'alert qui s'affiche, mais le history.back() ne veut pas fonctionner (sous firefox uniquement, il fonctionne très bien sous IE, un comble).*
    Alors, vu que la syntaxe n'est pas en cause, vérifie les différences entre ton ancienne version qui fonctionnait et la nouvelle qui ne marche que sous IE : je suppose que les champs contrôlés ne sont pas les mêmes (leurs références en tous cas) et que tu as dû adapter tes fonctions de contrôle en conséquence.
    Dans ta nouvelle version, n'as-tu pas un champ auquel tu essayes de faire référence via son id alors que tu n'as défini que le name (ou encore, tu penses faire référence à son id alors que tu fais référence à son name) ?
    Bref regarde de ce côté là ...
    En effet, à part celui-là, ils sont quand même assez rares les cas où "ça marche sous IE mais pas sous FF"
    C'est effectivement plus souvent l'inverse

    A+

Discussions similaires

  1. onload et onmouseover non fonctionnel sous firefox
    Par hraiwen dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 23/09/2009, 08h58
  2. Code non fonctionnel sous Firefox
    Par linar009 dans le forum Général JavaScript
    Réponses: 21
    Dernier message: 24/07/2006, 16h13
  3. Réponses: 3
    Dernier message: 10/05/2006, 10h54
  4. CSS non reconnues sous Firefox et Netscape
    Par rockingstone dans le forum Mise en page CSS
    Réponses: 11
    Dernier message: 07/04/2006, 21h20
  5. [CSS] Pb de css non compatible sous Firefox
    Par laurentdusseau dans le forum Mise en page CSS
    Réponses: 12
    Dernier message: 14/09/2005, 17h41

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