Somme des champs et concaténation  (Lu 158 fois) Partager ce sujet Imprimer

1 B


dauof  16 mai 2017 : 05:11

Merci Merlin  :bravo: :bravo: :bravo: :bravo: :bravo: :bravo:

IP archivée


Merlin  16 mai 2017 : 01:14

Désolé c'est une erreur basique et un cas typique d'utilisation de "valueAsString" au lieu de "value" tout court.  :geek:

Remplace le premier script ci-dessus par celui-ci :

// script de calcul
if (this.getField("Text4").valueAsString.length > 0) {var cChamp1 = 1;}
else  {var cChamp1 = 0;}
//
if (this.getField("Text5").valueAsString.length > 0) {var cChamp2 = 1;}
else  {var cChamp2 = 0;}
//
if (this.getField("Text6").valueAsString.length > 0) {var cChamp3 = 1;}
else  {var cChamp3 = 0;}
//
if (this.getField("Text7").valueAsString.length > 0) {var cChamp4 = 1;}
else  {var cChamp4 = 0;}
//
event.target.value = (cChamp1 + cChamp2 + cChamp3 + cChamp4) * 1;
//

IP archivée


dauof  15 mai 2017 : 23:18

Bonsoir Merlin,
merci pour tes réponses précieuses, j'ai essayé la somme des champs remplis, le code n'est valable que si l'on saisi des caractères alphabétiques, par contre si on saisi des chiffres, la somme ne marche pas  :mur:
merci de ton aide  :soleil:

IP archivée


Merlin  15 mai 2017 : 19:43

Bonjour.

Ça tient en 3 scripts :

// script de calcul
if (this.getField("Text4").value.length > 0) {var cChamp1 = 1;}
else  {var cChamp1 = 0;}
//
if (this.getField("Text5").value.length > 0) {var cChamp2 = 1;}
else  {var cChamp2 = 0;}
//
if (this.getField("Text6").value.length > 0) {var cChamp3 = 1;}
else  {var cChamp3 = 0;}
//
if (this.getField("Text7").value.length > 0) {var cChamp4 = 1;}
else  {var cChamp4 = 0;}
//
event.target.value = (cChamp1 + cChamp2 + cChamp3 + cChamp4) * 1;
//



// script de validation
if (event.value) {
// on découpe la date au format dd/mm/yyyy
var cJour = event.value.split("/")[0];
var cMois = event.value.split("/")[1];
var cAnnee = event.value.split("/")[2];
// et on la replace dans le champ concerné
this.getField("Text2").value = cAnnee + "_" + cMois + "_" + cJour;
}



// script de calcul
var oChampD = this.getField("Text9");
var oChampDate = this.getField("Text2");
var oChampE = this.getField("Text10");
if (oChampD.value.length > 0 && oChampDate.value.length > 0 && oChampE.value.length > 0) {
event.value = oChampD.value + "_" + oChampDate.value + "_" + oChampE.value;
} else {
event.value = "";
}

IP archivée


dauof  15 mai 2017 : 15:00

Bonjour,
étant débutant dans JavaScript, je ne sais pas comment m'y prendre pour réaliser ce script, (voir le fichier joint avec son explication).

Merci par avance.

IP archivée