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 :

Double click obligatoire sur un div pour que onclick fonctionne


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 62
    Points : 52
    Points
    52
    Par défaut Double click obligatoire sur un div pour que onclick fonctionne
    Bonjour,

    Je débute en js, et c'est mon premier script en fait (je ne parle pas des copiés collés !)

    Voilà mon code, d'abord un div :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <div class="carre" onClick="cours(this);">
    	MUC2
    </div>

    Ensuite le JS :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function cours(tcours) {
    	var txt;
        tcours.onclick=function(){
    	txt=this.innerHTML;
    	var datecours = document.getElementById('datecours');
    	var datecours = datecours.options[datecours.selectedIndex].value;
    	url = 'agenda.php?cours=' + txt + '&date=' + datecours;
    	location.href = url;
        }
    };
    C'est pour un projet que je réalise dans le cadre d'un licence pro, mais je débute vraiment en js, je ne comprend pas pourquoi je dois cliquer deux fois pour que le click fonctionne.

    Un exemple est visible en ligne, pour que le prof puisse voir le résultat.

    http://reseau-web.fr/spxml/index.php

    Merci pour votre aide

  2. #2
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 275
    Points
    3 275
    Par défaut
    Lors de ton premier click, tu redéfinis la fonction onclick sur ton bouton, mais tu ne l'appliques pas pour autant.

    Il faut que tu supprimes cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tcours.onclick=function(){

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 62
    Points : 52
    Points
    52
    Par défaut
    Bon, j'essaye de l'enlever, mais le problème, c'est que c'est de cette façon que je récupère la valeur textuel de mon div et que je le passe pour construire mon url, franchement, je ne suis pas assez calé pour le moment pour faire autrement.

    Un exemple serai le bienvenu !

    En tout cas, merci pour la réponse

  4. #4
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 275
    Points
    3 275
    Par défaut
    Pourquoi utiliser this (qui ne référence pas le "this" que tu souhaites alors que tu le passes en paramètre (ce qui est la bonne méthode de faire) ?

    Ensuite, indique une "value" sur tes options, c'est indispansable si tu ne veux pas qu'au moindre changement d'affichage, ton code ne soit plus valable.

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <select id="datecours" class="custom-dropdown__select custom-dropdown__select--white">
        <option value="2012-02-10">10 fév. 2012</option>
        <option value="2012-02-11">11 fév. 2012</option>
        <option value="2012-02-12">12 fév. 2012</option>
        <option value="2012-02-13">13 fév. 2012</option>
        <option value="2012-02-14">14 fév. 2012</option>
    </select>

    Voici qui pourrait faire l'affaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function cours(tcours) {
            var txt = tcours.innerHTML.trim();
            var datecours = document.getElementById('datecours');
            var date = datecours.options[datecours.selectedIndex].value;
            location.href = 'agenda.php?cours=' + txt + '&date=' + date;
    }

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 62
    Points : 52
    Points
    52
    Par défaut Grand merci
    Bon effectivement, cela fonctionne comme ça et j'ai appris quelque chose

    Merci beaucoup !

    Pour le select, en fait, dans l'avancé du devoir il ne sert pas vraiment, c'est la raison pour laquelle je n'ai pas mis de value.

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

Discussions similaires

  1. double click inopérant sur datagridview
    Par dgkourou dans le forum C#
    Réponses: 0
    Dernier message: 07/05/2013, 04h05
  2. Réponses: 4
    Dernier message: 30/10/2012, 16h44
  3. Réponses: 5
    Dernier message: 29/03/2011, 11h33
  4. [Dojo] click droit sur le div avec Dojo
    Par maximus2010 dans le forum Bibliothèques & Frameworks
    Réponses: 3
    Dernier message: 12/03/2010, 11h30
  5. Opacité sur bloc Div - Incompatibilité et ne fonctionne pas
    Par killprog dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 15/03/2006, 16h31

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