Bonjour à tous,

Je tente de développer une mise en forme de saisies utilisateurs côté client en javascript. (avant un traitement final en PHP côté serveur).

Je ne parviens pas à comprendre comment passer mes paramètres par référence depuis la fonction major() vers les différentes fonctions de traitement ?

Peut-être quelqu'un saura-t-il m'expliquer un peu ? D'avance merci.

Ne faites pas attention à la présentation un peu "pompeuse" pour un débutant.

Remarque : mes 2 fonctions pasEspace() et quePoint() fonctionnent très bien lorsqu'elles sont appellées seules. Mon problème est apparu avec la fonction major().

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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
/* Bibliothèque    : rumba.js
 * Fonctionnalités : recueille des fonctions traitant les champs
 *                   d'un formulaire de saisie des horaires de
 *                   travail.
 */
 
 
/***************************************************************/
/* DÉCLARATIONS DES VARIABLES ET FONCTION PRINCIPALE ***********/
/***************************************************************/
 
function major() {
 
var rumba_champ = new Array( );
rumba_champ[0] = document.horaires.LunM.value;
rumba_champ[1] = document.horaires.LunB.value;
rumba_champ[2] = document.horaires.LunR.value;
rumba_champ[3] = document.horaires.LunS.value;
rumba_champ[4] = document.horaires.MarM.value;
rumba_champ[5] = document.horaires.MarB.value;
rumba_champ[6] = document.horaires.MarR.value;
rumba_champ[7] = document.horaires.MarS.value;
rumba_champ[8] = document.horaires.MerM.value;
rumba_champ[9] = document.horaires.MerB.value;
rumba_champ[10] = document.horaires.MerR.value;
rumba_champ[11] = document.horaires.MerS.value;
rumba_champ[12] = document.horaires.JeuM.value;
rumba_champ[13] = document.horaires.JeuB.value;
rumba_champ[14] = document.horaires.JeuR.value;
rumba_champ[15] = document.horaires.JeuS.value;
rumba_champ[16] = document.horaires.VenM.value;
rumba_champ[17] = document.horaires.VenB.value;
rumba_champ[18] = document.horaires.VenR.value;
rumba_champ[19] = document.horaires.VenS.value;
rumba_champ[20] = document.horaires.SamM.value;
rumba_champ[21] = document.horaires.SamB.value;
rumba_champ[22] = document.horaires.SamR.value;
rumba_champ[23] = document.horaires.SamS.value;
rumba_champ[24] = document.horaires.DimM.value;
rumba_champ[25] = document.horaires.DimB.value;
rumba_champ[26] = document.horaires.DimR.value;
rumba_champ[27] = document.horaires.DimS.value;
var i = 0;
 
for(i=0;i< rumba_champ.length;i++) {
	pasEspace(rumba_champ[i]);
	quePoint(rumba_champ[i]);
	     document.horaires.LunM.value = rumba_champ[i];
             return false
} // Fermeture de la boucle "for"
 
	//return false;
} // Fermeture de la fonction "major"
 
 
/***************************************************************/
/* MÉTHODES DE CLASSES *****************************************/
/***************************************************************/
 
/* Méthode         : noSpace
 * Classe          : String
 * Fonctionnalité  : retire tous les espaces présents dans la 
 *                   chaîne et retourne la chaîne épurée.
 */
 
String.prototype.noSpace = function() {
	return this.replace(/\s+/,"");
}
 
/* Méthode         : onlyPoint
 * Classe          : String
 * Fonctionnalité  : remplace tous les séparateurs (";","/",",")
 *                   par un point (".") et retourne la chaîne.
 */
 
String.prototype.onlyPoint = function() {
	return this.replace(/;|\/|,/,".");
}
 
/***************************************************************/
/* FONCTIONS ***************************************************/
/***************************************************************/
 
/* Fonction        : pasEspace()
 * Fonctionnalité  : retire les espaces présents dans la chaîne
 *                   par appel de la méthode de classe String.
 */
 
function pasEspace(String) {
	for (j=0;j<5;j++)
		{
		String=String.noSpace();
		return String;
		}
}
 
 
/* Fonction        : quePoint()
 * Fonctionnalité  : remplace le séparateur si ce n'est pas un
 *                   point.
 */
 
function quePoint(String) {
	for (k=0;k<5;k++)
		{
		String=String.onlyPoint();
		return String;
		}
}