Petit Bug de calendrier

Signaler
Messages postés
29
Date d'inscription
mardi 22 août 2006
Statut
Membre
Dernière intervention
31 janvier 2007
-
Messages postés
469
Date d'inscription
mercredi 9 janvier 2002
Statut
Membre
Dernière intervention
20 février 2017
-
Bonjour,

J'ai récupérer une source de calendrier. Lors d'un focus sur un input le calendrier apparaît.

Par contre je suis obligé de cliquer sur une date pour le faire disparaitre.

Je souhaiterais pouvoir cliquer sur ma page et que la calendrier se ferme.

Je ne vais pas recopier tout le code (je peux le faire si c'est nécessaire), mais voici la fonction appeller :

function showCalender(ele) {
        if(document.getElementById('basis')) { removeCalender() }
        else {
            target=document.getElementById(ele.id.replace(/for_/,''));
            var basis=ele.parentNode.insertBefore(document.createElement('div'),ele);
            basis.id='basis';
            newElement('div', [['id','calender',1]], false, basis);
            calender();
        }
   

et voici le code de l'input

Auriez-vous une astuce à implémenter ?

Merci

Flux__

5 réponses

Messages postés
67
Date d'inscription
mardi 25 janvier 2005
Statut
Membre
Dernière intervention
20 octobre 2010

En rajoutant ça ça devrait le faire =)
Messages postés
29
Date d'inscription
mardi 22 août 2006
Statut
Membre
Dernière intervention
31 janvier 2007
1
Salut,

Merci de ta réponse.

Effectivement le calendrier s'efface.
Mais en cliquant sur les dates du calendrier, le calendrier s'efface aussi et la date n'est plus renseigné dans mon input.

Merci quand même.

Flux__
Messages postés
67
Date d'inscription
mardi 25 janvier 2005
Statut
Membre
Dernière intervention
20 octobre 2010

Bon.... pour ne pas que le calendrier se ferme elève le onblur et mais ça :




ça devrait faire l'affaire =)

@++
Messages postés
29
Date d'inscription
mardi 22 août 2006
Statut
Membre
Dernière intervention
31 janvier 2007
1
Non toujours pas...

Le calendrier apparait puis disparait aussitôt.

Flux__

++
Messages postés
469
Date d'inscription
mercredi 9 janvier 2002
Statut
Membre
Dernière intervention
20 février 2017
6
bien le bonjour,
Sinon, il faudrait rajouter une méthode :
  function removeCalend(ev){
   // récupère le contrôle cliqué
    var ctrlClick = (document.all)? event.srcElement : ev.target;
   // si pas la date et pas la div de calendrier alors cache le calendrier
    if ( (ctrlClick.id != "basis" && ctrlClick.id !="date1" ) ){
      removeCalender()
    }
  }
Que tu appels sur le onclick du body :
   

pour voir

[o-_-o]