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 :

2 fonctions sur un onClick


Sujet :

JavaScript

  1. #1
    Membre averti Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Points : 436
    Points
    436
    Par défaut 2 fonctions sur un onClick
    Bonjour à tous,

    Je voudrais afficher un message d'alerte sur un clic, + un rafraichissement de la page...J'ai fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    <a href='mapage.php' onClick=\"javascript:alert(mon message alerte'); rafraichit()\">Supprimer</a>";
     
    //et la fonction JS
     
    function rafraichit(){
    location.reload();
    }
    ben ça fonctionne pas...
    Et si je le mets pas avec une fonction, style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <script>javascript:location.reload()</script>
    ben ça arrête pas de rafraichir la page...au point qu'elle ne s'affiche plus.
    Une idée ?
    Merci.

  2. #2
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick=\"alert('mon message alerte'); rafraichit()\"
    Tu remarqueras que "javascript:" a été supprimé

  3. #3
    Membre averti Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Points : 436
    Points
    436
    Par défaut
    merci, oui, j'ai fait la modif...mais malheureusement cela ne rafraichit pas la page pour autant...je dois le faire avec le bouton de IE pour voir les modifs...

  4. #4
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 650
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 650
    Points : 11 141
    Points
    11 141
    Par défaut
    bonjour,

    essaye avec cette syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.location.reload(true);

  5. #5
    Membre averti Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Points : 436
    Points
    436
    Par défaut
    non, plus...je comprends pas...

  6. #6
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a  href='mapage.php' [...]>
    Ou est l'interet de rafraichir, si tu mets un href ?

  7. #7
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    hummm et si tu m'etais tout directement dans le href (tout en rajoutant le javascript ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="javascript:alert('mon message alerte'); rafraichit()\">Supprimer</a>";
    Et sinon +1 pour la réponse de Fremy. Ca te sert à quoi ?? Comment tu vas supprimer ???

  8. #8
    Membre averti Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Points : 436
    Points
    436
    Par défaut
    Ben ça, je ne peux pas, parce que le lien pointe vers une fonction php qui fait un traitement...dont justement je veux voir les effets en rafraichissant la page...

  9. #9
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Si ton lien pointe vers une autre page...Ton reload je fera pas grand chose vu que tu seras sur ta page.php qui fait la suppression...Ce qu'il faudrait c'est après le traitement rediriger vers la page d'affichage...Ou tout faire sur la même page

  10. #10
    Membre averti Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Points : 436
    Points
    436
    Par défaut
    oui, mais c'est le cas actuellement. ma fonction php est sur la même page. Le lien l'exécute et fait un traitement. ensuite je voudrais rafraichir pour que les résultats s'affichent...sur la même page.(mapage.php).

    le lien est du grenre mapage.php?op=traitement
    et traitement est ma fonction php

    J'ai essayé de mettre <script>javascript:location.reload()</script> dans la fonction php, apres le traitement, mais comme je le disais ça rafraichit sans arrêt.

  11. #11
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Je comprends toujours pas pourquoi utiliser le reload...C'est du php si tu fais un traitement tu n'as qu'à le faire au début de ta page et ce même avant l'affichage des infos.Ca évite un reload et ton traitement est effectué et tu peux voir tout de suite le résultat

  12. #12
    Membre averti Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Points : 436
    Points
    436
    Par défaut
    Parce que c'est un système de panier...les élèments sont enregistrés dans un tableau lui même dans une session. Sur la page le dernier élèment sélectionné est affiché, puis il y a un lien "afficher le panier" qui se "démasque" grace à une fonction JS display. Pour chaque ligne du panier, un lien "supprimer"...et c'est celui-ci qui appelle la fonction php qui fait un array_splice sur mon tableau et vire l'élèment en question. Et c'est après que j'ai besoin d'un reload afin que le dernier élément choisi ne reste pas affiché sur la page alors qu'il vient d'être supprimé du panier...Donc si je fais la manip et que je refresh via le navig, c'est impec. Je voudrais juste que ça soit automatique...
    Je sais pas si je suis clair, là...

  13. #13
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Si j'ai bien compris ce que tu voulais faire :
    {
    - Demander au serveur de traiter des données (S)
    - Le serveur envoie une réponse (S)
    - La page courrante lit les données (C)
    - La page courante affiche les données au client (C)
    }
    Pour ce genre de choses, utiliser l'AJAX (ou l'envoi de formulaire (Balise "form"))

  14. #14
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Pourquoi Ajax Fremy ??? Il agit que sur des tableaux et session et pas vraiment sur une bdd...Donc...en plus ca pourrait etre lourd à faire sachant qu'il utilise php et que juste un clic qui ouvre la page et c'est bon...

    Par contre pour revenir sur le sujet, tu devrais passer du coté php car c'est de la manipulation session et cie.
    Tu devrais vérifier que l'action array_splice est bien effectué...ca pourrait venir de la le problème

  15. #15
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Ben dans le cas ou AJAX n'avait pas d'interet :
    Citation Envoyé par FremyCompany
    (ou l'envoi de formulaire (Balise "form"))
    Pour chaque Item de ton tableau, tu crée en HTML un submit (ou une image déclanchant un submit du form). Avant l'envoi des données, tu remplis un champ hidden qui précise quel element est à supprimer (ID, Index, Key, ...)

  16. #16
    Membre averti Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Points : 436
    Points
    436
    Par défaut
    A Fremy: Oui c'est ce que je veux faire...mais j'ignore tout de l'ajax...
    A Kerod: je sais que mon array_splice fonctionne bien, puisque après le traitement par la fonction, si je fais un refresh navig tout bête, ma page n'affiche plus le dernier élèment du panier, mais le précédent...preuve qu'il a bien été viré.

  17. #17
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Dans ce cas à la fin de la fonction il faudrait faire un echo reload()...

    Sinon c'est pas un problème de var de session ca ? tu affiches les élements de la session ou du tableau ? Tu supprimes les éléménts du tableau ou de la session ? La mise à jour session est effectué quand ?

    M'enfin si tu veux te diriger vers ajax eh bien......Il existe des tutos (clic sur le liens cours et tutoriel et tu vas dans web puis javascript)

  18. #18
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Message Précédent Edité (Suprimer un item sans AJAX)

    Enfait, je prospose l'architecture suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    FORM (Action étant mis sur PHP_SELF)
    -- OPERATION : REFRESH | REMOVE | ADD (Opération à effectuer)
    -- ID : ID (Identifiant permettant de connaitre le type d'objet à enlever (REMOVE) ou determiner le type d'objet à ajouter
    -- QT : NUMBER (Quantité de l'objet (cas ADD principalement))
    -- Autres donnes utiles
    Pseudo Code de la page :
    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
    Constructor : Item (Type, Quantite)
    Object : arrayList : Objet de gestion de liste
    Object : OPERATION : String qualifiant l'operation demandée au serveur
    Object : ID : String qualifiant l'ID d'objet (diffère selon l'opération)
    Object : QT : String : Quantité de l'objet (diffère selon l'operation)
    ------------
    switch OPERATION {
      null or "" or "REFRESH" {
         // Ne rien faire, aucune action demandée
      }
      "ADD" {
         // ID est le type de l'objet
         QT = CType (QT,integer) // Converstion de la chaine en entier
         arrayList.add(new Item(ID, QT))
      }
      "REMOVE" {
         // ID est la postion de l'objet dans l'array
         ID = CType (ID,integer) // Converstion de la chaine en entier
         arrayList.remove(ID)
      }
    }
    // Fonction qui gener le code HTML du panier
    call AppendPanierHTML (arrayList)

  19. #19
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Citation Envoyé par Kerod
    M'enfin si tu veux te diriger vers ajax eh bien......Il existe des tutos (clic sur le liens cours et tutoriel et tu vas dans web puis javascript)
    ... Mouais... avec des fautes dedans... et c'est pas de la blague ca... Mieux vaut ne pas l'utiliser (j'ai envoyé un message à sidh pour qu'il puisse corriger, mais j'ai tjrs pas eu de nouvelles, c'est les vacances )

    Non, je crois que l'idée du formulaire est meilleurs pour le cas présent... J'avais pas bien compris le principe (je fais pas du PHP, mais de l'ASP .Net, ou les sessions sont gérées différement (perso je préfère ASPX ))

  20. #20
    Membre averti Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Points : 436
    Points
    436
    Par défaut
    la fonction php array_splice supprime un élèment du tableau associatif (et donc de la session) gràce à son id. Ca fonctionne impec. Seul l'affichage du tableau n'est pas "vrai" sans reload.

    Dans la fonction, j'ai essayé un echo javascript:reload()...ça rafraichit un million de fois mais ça affiche jamais la page...

    Je vais essayer la soluce de Fremy: un simple form javascript avec un submit auto. Même pas besoin de params, tout est dans ma session. Peut-être que cette action rafraichira la page...?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. 2 fonctions sur 1 onclick
    Par athome dans le forum Général JavaScript
    Réponses: 20
    Dernier message: 18/07/2011, 17h31
  2. appel du fonction sur un onclick en PHP
    Par BriocheNC dans le forum Langage
    Réponses: 15
    Dernier message: 27/05/2011, 17h56
  3. Perte d'une fonction sur un OnClick d'un TR
    Par fm424946 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 13/08/2008, 16h37
  4. Execution de 2 fonctions sur onclick
    Par zorba49 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 01/08/2006, 11h10
  5. Bouton alternant 2 fonctions sur le meme evenement onClick
    Par Rocca dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 31/01/2006, 09h16

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