Bonsoir a tous ou bonjour vu l'heure :-D

Voila mon souci est le suivant, j’utilise depuis peu des data-xxxxxx pour transmettre mes valeurs (je ne connaissais pas cette technique) et via un onclick je traite les données :
Ici un script pour calculer l'age.

Le probleme est de pouvoir sauvegarder la valeur du champ qui reçoit l'age dans la fonction calc_age.
Je ne parviens pas à l'obtenir car quand j'appelle envoi (this) il recupere les data de l'input a partir duquel le onblur lance la fonction.
Mais dans le cas ou je souhaite sauvegarder la valeur d'un input pour lequel je n'appelle pas la fonction, je n'arrive pas.

Avant je pouvais appeler une function dans une autre en conservant la variables, mais la il s'agit d'appeler une function xxx(this) dans une autre fonction yyy(xxx)

Merci de votre aide.
Bonne nuit.

mon
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
                                            <div class="col-md-2">
                                                <div class="position-relative form-group"><label for="dn_e">Date de Naissance</label>
                                                    <div class="input-group">
                                                        <input type="date" class="form-control" id="dn_e" name="dn_e" data-dest="age_e" data-table="client" data-ligne="0" data-clientref="'.$cl_idCLIENTREF.'" data-client="'.$client.'" value="'.$cl_dn_e.'" onblur="calc_age(this);envoi(this);tableaubord('.$cl_idCLIENTREF.');">
 
                                                        <div class="input-group-prepend">
                                                            <span class="input-group-text">
                                                                <input type="text" id="age_e" name="age_e" value="'.$cl_age_e.'" style="width:50px" disabled class="text-right">
                                                            </span>
                                                        </div>
                                                    </div>
                                                </div>
                                            </div>




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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
 
function calc_age(ele) 
{
	var name=$(ele).attr('name');
	var dest= $(ele).data('dest');
	var clientref = $(ele).data('clientref');
	var client= $(ele).data('client');
	var value=( $(ele).attr('type')=='checkbox'? ( $(ele).is(':checked')?1:0) : $(ele).val() );
 
	var date_calc=$('#'+name).val();
 
	var elem_n = date_calc.split('-'); 
	jour_n = elem_n[2]; 
	mois_n = elem_n[1]; 
	annee_n = elem_n[0]; 
	var date_day = new Date(); 
	jour_day = parseInt(date_day.getDate());  
	mois_day = parseInt(date_day.getMonth()+1);  
	annee_day = parseInt(date_day.getFullYear());  
 
	var mois; 
	var age=""; 
	if(mois_day >= mois_n){ ans = (annee_day*1) - (annee_n*1); mois= (mois_day*1) - (mois_n*1); }
	else{ ans = ((annee_day*1) - (annee_n*1)) -1; mois= (mois_day*1) +( 12 - (mois_n*1)); } 
 
	if(ans >0 && ans <=1){ age += ans+'a, '; }
	else if(ans >1) {age += ans+'a, '; }
	if(mois >0) {age +=mois+'m';}
 
	document.getElementById(dest).value =age;
	/*$('#'+dest).val() =age;envoi(dest);*/
 
}
 
 
 
 
function envoi(ele) 
{
	var clientref= $(ele).data('clientref');
	var table = $(ele).data('table');
	var client = $(ele).data('client');
	var ligne= $(ele).data('ligne');
	var name=$(ele).attr('name');
	var value=( $(ele).attr('type')=='checkbox'? ( $(ele).is(':checked')?1:0) : $(ele).val() );
 
 
	if (name=="memodoss") {while(idC.indexOf("\n")>0){idC = idC.replace("\n","<br>");}idC = idC.replace(/[+]/g, "%2B");}
	if (name=="log" && (value=="A" || value=="P")) 
	{
		ad=$('#ad').val();
		ad_1=$('#ad_1').val();
		cp=$('#cp').val();
		vil=$('#vil').val();
		adresse=ad+" "+ad_1+" "+cp+" "+vil;
		document.getElementById("patres_1").value="RP";
		document.getElementById("patadresse_1").value = adresse;
		document.getElementById("patdateacq_1").value =$('#log_depuis').val(); 
		document.getElementById("patvdb_1").value =$('#vdb').val();
		/*envoi_pat("patres_1",client,1);
		envoi_pat("patadresse_1",client,1);
		envoi_pat("patdateacq_1",client,1);
		envoi_pat("patvdb_1",client,1);*/
	}
 
 
 
	console.log("sauve.php?table="+table+"&clientref="+clientref+"&client="+client+"&champ="+name+"&"+name+"="+value);
 
	$.ajax({
		url: "sauve.php?table="+table+"&clientref="+clientref+"&client="+client+"&champ="+name+"&"+name+"="+value,
		ifModified:true,
		success: function(content)
                {
			console.log('OK');
			$('#'+name).css('border', '2px solid #00FF00');
		}
	});
}