IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Simplification de fonction


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 69
    Par défaut Simplification de fonction
    Bonjour, voici mon code qui fonctionne en javascript. Celui ci à pour but de décompter le nombre de caracteres dans un input de type text.

    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
     
    <script>
    function Menu1(Target)
    {
    StrLen = Target.value.length
    if (StrLen > 80 )
    {
    Target.value = Target.value.substring(0,80);
    CharsLeft = 80;
    }
    else
    {
    CharsLeft = StrLen;
    }
    var CharsLeft1 = 80 - CharsLeft +" caractères restants";
    document.frmAdmin.tit1.value = CharsLeft1;
    }
     
     
     
    // Je le repete encore
     
     
     
    function Menu2(Target)
    {
    StrLen = Target.value.length
    if (StrLen > 80 )
    {
    Target.value = Target.value.substring(0,80);
    CharsLeft = 80;
    }
    else
    {
    CharsLeft = StrLen;
    }
    var CharsLeft1 = 80 - CharsLeft +" caractères restants";
    document.frmAdmin.tit2.value = CharsLeft1;
    }
     
     
     
    // et encore
     
     
     
    function Menu3(Target)
    {
    StrLen = Target.value.length
    if (StrLen > 80 )
    {
    Target.value = Target.value.substring(0,80);
    CharsLeft = 80;
    }
    else
    {
    CharsLeft = StrLen;
    }
    var CharsLeft1 = 80 - CharsLeft +" caractères restants";
    document.frmAdmin.tit3.value = CharsLeft1;
    }
     
     
     
    // et encore encore...
    function Menu4(Target)
    {
    StrLen = Target.value.length
    if (StrLen > 80 )
    {
    Target.value = Target.value.substring(0,80);
    CharsLeft = 80;
    }
    else
    {
    CharsLeft = StrLen;
    }
    var CharsLeft1 = 80 - CharsLeft +" caractères restants";
    document.frmAdmin.tit4.value = CharsLeft1;
    }
     
     
     
     
    </script>
    Les input sont générés grâce à la boucle "for" en php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
       for($i=1;$i<5;$i++){
     
    echo '<input name="Menu'.$i.'"  onKeyDown="Menu'.$i.'(this)" onKeyUp="Menu'.$i.'(this)" type="text" />';
    // ca c'est le input compté
     
    echo '<input type=text name="tit'.$i.'" readonly="readonly" />';
    // ca  c'est le input qui affiche le nombre de caractere restant}

    Voila cela fonctionne
    Cependant je ne trouve pas comment mettre une boucle for en javascript sur le nom d'une fonction.
    Si vous avez une idée pour simplifier tt ça. Merci de votre aide

  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    pourquoi veux tu recréer X fois la même fonction ?
    appel celle d'origine avec un paramètre différent

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 453
    Par défaut
    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
     
    <script language="javascript">
    function Menu(Target,inb)
    {
    StrLen = Target.value.length
    if (StrLen > 80 )
    {
    Target.value = Target.value.substring(0,80);
    CharsLeft = 80;
    }
    else
    {
    CharsLeft = StrLen;
    }
    var CharsLeft1 = 80 - CharsLeft +" caractères restants";
    eval("document.frmAdmin.tit"+inb+".value = CharsLeft1");
    }
    ... Et php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     for($i=1;$i<5;$i++){
     
    echo '<input name="Menu'.$i.'"  onKeyDown="Menu(this,'.$i.')" onKeyUp="Menu(this,'.$i.')" type="text" />';
    // ca c'est le input compté
     
    echo '<input type=text name="tit'.$i.'" readonly="readonly" />';
    // ca  c'est le input qui affiche le nombre de caractere restant}
     
    }

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 69
    Par défaut
    Exellent reponse, cela fonctionne. Merci pour cette simplification de fonction javascript!!


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Simplification de fonction
    Par Quentin.vdv dans le forum VBScript
    Réponses: 1
    Dernier message: 08/02/2013, 09h26
  2. Dérivation et simplification de fonctions
    Par sunlover dans le forum Prolog
    Réponses: 1
    Dernier message: 07/12/2011, 22h48
  3. Simplification des fonctions de callback
    Par Gouhouf dans le forum Interfaces Graphiques
    Réponses: 7
    Dernier message: 02/05/2009, 11h32
  4. Simplification de fonction logique - le famous tableau karnaugh
    Par tariq_qui dans le forum VB 6 et antérieur
    Réponses: 20
    Dernier message: 29/04/2007, 13h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo