passage de paramètres par référence entre fonctions ?
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:
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;
}
} |