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 :

Mon calendrier ne s'efface pas


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �prouv�
    Homme Profil pro
    Ing�nieur en �lectrotechnique retrait�
    Inscrit en
    D�cembre 2008
    Messages
    1 718
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 73
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activit� : Ing�nieur en �lectrotechnique retrait�

    Informations forums :
    Inscription : D�cembre 2008
    Messages : 1 718
    Par d�faut Mon calendrier ne s'efface pas
    Bonjour � tous,

    J'ai une fonction de masquage de calendrier qui s'applique tour � tour sur deux champs diff�rents. Elle fonctionne pour le deuxi�me champs mais pas pour le premier. Je pense que c'est un probl�me du au clonage de l'objet param�tre mais je n'arrive pas � le r�soudre.
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    const
    	tabForms	= document.querySelectorAll("[name='tabForm'], [name='actForm']")
    	,dates		= document.querySelectorAll("[id*='date_']")
    	;
     
    var cal	= new jsSimpleDatePickr()
    	,max= dates.length
    	,oClone
    	,oParams = {
    	'divId':		'',
    	'inputFieldId':	'',
    	'dateMask':		'JJ/MM/AAAA',
    	'dateCentury':	20,
    	'titleMask':	'M AAAA',
    	'navType':		'11',
    	'classTable':	'jsCalendar',
    	'classDay':		'day',
    	'classDaySelected': 'selectedDay',
    	'monthLst':		fromPHPtoJS.monthes,
    	'dayLst':		fromPHPtoJS.shortDays,
    	'hideOnClick':	true,
    	'showOnLaunch':	false,
    	'callBack':		saveDate
    	}
    	;
     
    if (max && tabForms[0].dataset.tab == 'qualityCert') {
    	dates.forEach(function(curDate){
    		oClone = Object.assign({}, oParams);
    		oClone.divId		= curDate.dataset.divid;
    		oClone.inputFieldId	= curDate.id;
    		cal.CalAdd(oClone);
    		document.addEventListener('click', function(e){
    			console.log(e.target.id);
    			console.log(oClone.inputFieldId);
    			console.log(e.target.name);
    			if (e.target.id != oClone.inputFieldId && e.target.name != '' ){ // Cette condition n'est jamais remplie pour le premier calendrier
    				cal.CalDoFromField(oClone.inputFieldId, 'hide');
    			}
    		}, false );
    	});
    }
    Voici le r�sultat des lignes 34 � 36 pour le premier calendrier:
    'date_cert', 'date_validity', 'date_cert'
    et pour le second:
    '', 'date_validity', undefined

  2. #2
    Membre �prouv�
    Homme Profil pro
    Ing�nieur en �lectrotechnique retrait�
    Inscrit en
    D�cembre 2008
    Messages
    1 718
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 73
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activit� : Ing�nieur en �lectrotechnique retrait�

    Informations forums :
    Inscription : D�cembre 2008
    Messages : 1 718
    Par d�faut
    C'est bon, j'ai trouv�, il suffit d'indexer le clone comme ceci:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    if (max && tabForms[0].dataset.tab == 'qualityCert') {
    	dates.forEach(function(curDate,index){
    		let aClone = [];
    		aClone[index] = Object.assign({}, oParams);
    		aClone[index].divId		= curDate.dataset.divid;
    		aClone[index].inputFieldId	= curDate.id;
    		cal.CalAdd(aClone[index]);
    		document.addEventListener('click', function(e){
    			if (e.target.id != aClone[index].inputFieldId && e.target.name != '' ){
    				cal.CalDoFromField(aClone[index].inputFieldId, 'hide');
    			}
    		}, false );
    	});
    }

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Mon Calendrier ne s affiche pas
    Par ensascience dans le forum IHM
    R�ponses: 4
    Dernier message: 07/10/2015, 12h03
  2. R�ponses: 12
    Dernier message: 23/09/2015, 15h08
  3. R�ponses: 3
    Dernier message: 19/11/2013, 10h01
  4. mon calendrier ne passe pas 2039
    Par acryline dans le forum GTK+ avec C & C++
    R�ponses: 7
    Dernier message: 07/08/2007, 14h54
  5. Mon script cron n'est pas pris en compte
    Par tomnie dans le forum Linux
    R�ponses: 11
    Dernier message: 31/03/2004, 11h19

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