Donnez vie à vos documents numériques !
 

Somme des champs et concaténation

abracadabraPDF Forums PDF – Général Somme des champs et concaténation

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #45668
    dauof
    Membre

    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.

Affichage de 4 réponses de 1 à 4 (sur un total de 4)
  • Auteur
    Réponses
  • #62611
    Merlin
    Maître des clés

    Bonjour.

    Ça tient en 3 scripts :

    Code:
    // 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;
    //
    Code:
    // 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;
    }
    Code:
    // 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 = «  »;
    }
    #62612
    dauof
    Membre

    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:

    #62613
    Merlin
    Maître des clés

    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 :

    Code:
    // 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;
    //
    #62614
    dauof
    Membre

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

Affichage de 4 réponses de 1 à 4 (sur un total de 4)
  • Vous devez être connecté pour répondre à ce sujet.