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 :

gestion panier sous safari


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 99
    Points : 44
    Points
    44
    Par défaut gestion panier sous safari
    Bonjour à tous,

    J'ai une application qui me permet de gérer un panier.
    Lorsque je veux supprimer un article de mon panier le script ne fonctionne pas sous safari.
    En cliquant sur "supprimer" , rien ne se passe !!!
    Sous ie6, ie7, et Firefox*,tout fonctionne normalement.

    Voici le lien pour appeler le script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="javascript:supressAction('do_this',<%=count%>,'delete');document.<%=basketForm%>.submit();"><span>Supprimer</span></a>
    sachant que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     <%
        if (panierList != null && panierList .size() > 0) {
          int count =0;
          String obj="";
          String basketForm="";
          for(Panier panier: panierList ){
            obj = "qte" + count;
            basketForm = "basketForm"+count;
        %>
    Voilà le script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function suppressAction(obj,order,value) {
            var myInput = document.getElementsByTagName("form")["basketForm"+order].elements[obj];
    	myInput.value=value;
       }
    Même chose pour le script suivant pour modifier (incrémenter ou diminuer) le nombre d'articles dans mon panier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function modifierPanier(inc,obj,order) {		
    	var myInput = document.getElementsByTagName("form")["basketForm"+order].elements[obj];
     
    	   if (myInput.value == ''){
    	   		myInput.value=1;
    	   }
    	   if (((parseInt(myInput.value)+inc)>=1)&&((parseInt(myInput.value)+inc)<100)){
    	   		myInput.value=parseInt(myInput.value)+inc;
    	   }
     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <a href="javascript:modifierPanier(+1,'<%=obj%>',<%=count%>);document.<%=basketForm%>.submit();">+</a>
    					<a href="javascript:modifierPanier(-1,'<%=obj%>',<%=count%>);document.<%=basketForm%>.submit();">-</a>

    Où est le problème ??

    Merci d'avance

  2. #2
    Membre éclairé

    Inscrit en
    Juillet 2008
    Messages
    232
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 232
    Points : 837
    Points
    837
    Par défaut
    Ça marche vraiment?

    Je vois une faute:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="javascript:supressAction('

  3. #3
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 99
    Points : 44
    Points
    44
    Par défaut
    Citation Envoyé par bredelet Voir le message
    Ça marche vraiment?

    Je vois une faute:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="javascript:supressAction('

    En fait, je me suis trompé en faisant le copier-coller . Le problème n'est pas à ce niveau. Dans mon code, c'est le même nom

  4. #4
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 99
    Points : 44
    Points
    44
    Par défaut Ouf !
    Citation Envoyé par fiatlux Voir le message
    En fait, je me suis trompé en faisant le copier-coller . Le problème n'est pas à ce niveau. Dans mon code, c'est le même nom
    Ouf ! C'est résolu.
    Pour ceux que ça intéresse, le problème était à ce niveau :
    var myInput = document.getElementsByTagName("form")["basketForm"+order].elements[obj];

    Cette instruction est interprétée correctement par Firefox et IE pour des raisons de compatibilités historiques.

    Une syntaxe plus correcte :

    var myInput = document.getElementsByName("basketForm"+order)[0].elements[obj];

    Et là ça fonctionne sur tous les navigateurs

  5. #5
    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 644
    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 644
    Points : 66 671
    Points
    66 671
    Billets dans le blog
    1
    Par défaut
    sasn doute que

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var myInput = document.forms["basketForm"+order].elements[obj];
    eût aussi donné satisfaction

  6. #6
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 99
    Points : 44
    Points
    44
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    sasn doute que

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var myInput = document.forms["basketForm"+order].elements[obj];
    eût aussi donné satisfaction

    Bonjour,

    J'ai un autre souci avec IE 6 :

    Je suis sur la page qui m'affiche le récapitulatif de mon panier :
    - je supprime un(ou des) article(s)
    - je repars sur la page d'accueil pour en choisir d'autres,
    - quand je repars vers le panier, le panier m'affiche les articles précédemment supprimés et pas le(s) nouveau(x).

    Je dois faire un "F5" pour que la page se rafraichisse et m'affiche les nouveaux articles sélectionnés.

    Pouvez-vous m'aider pour un script qui, en fonction du navigateur (IE 6), rafraichisse la page qui affiche le panier quand on y redirigé car il me semble que c'est un problème de cache ou bien c'est autre chose ?

    Le script pourra être appelé dans le lien qui me dirige vers le récapitulatif du panier.


    Merci d'avance

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

Discussions similaires

  1. gestion panier sous IE 6
    Par fiatlux dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 02/10/2008, 16h46
  2. gestion de la cache sous safari 3 windows
    Par AlexC3301 dans le forum Internet
    Réponses: 0
    Dernier message: 19/06/2008, 00h00
  3. Gestion menu sous access
    Par PapouDomi dans le forum Runtime
    Réponses: 9
    Dernier message: 05/03/2007, 19h14
  4. gestion fichiers sous linux
    Par felix14 dans le forum Langage
    Réponses: 3
    Dernier message: 14/09/2006, 16h52

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