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 :

Remplacer un ou plusieurs caractères dans des zones de texte


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Inscrit en
    Avril 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Remplacer un ou plusieurs caractères dans des zones de texte
    salut a tous, je veux une fonction qui remplace un caractère ou plusieurs caractères dans plusieur zones de texte,

    j'ai trouvé un exemple de la fonction string.substring(from, to), mais il Remplace seulement dans une zone de texte.
    voila l'exemple :
    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
     
    <!-- TWO STEPS TO INSTALL REPLACE CHARACTERS:
     
      1.  Copy the coding into the HEAD of your HTML document
      2.  Add the last code into the BODY of your HTML document  -->
     
    <!-- STEP ONE: Paste this code into the HEAD of your HTML document  -->
     
    <HEAD>
     
    <SCRIPT LANGUAGE="JavaScript">
     
    <!-- This script and many more are available free online at -->
    <!-- The JavaScript Source!! http://javascript.internet.com -->
     
    <!-- Begin
    function replaceChars(entry) {
    out = "a"; // replace this
    add = "z"; // with this
    temp = "" + entry; // temporary holder
     
    while (temp.indexOf(out)>-1) {
    pos= temp.indexOf(out);
    temp = "" + (temp.substring(0, pos) + add + 
    temp.substring((pos + out.length), temp.length));
    }
    document.subform.text.value = temp;
    }
    //  End -->
    </script>
    </HEAD>
     
    <!-- STEP TWO: Copy this code into the BODY of your HTML document  -->
     
    <BODY>
     
    <center>
    <form name="subform">
     
    <input type=text name=text size=40 value="abcdabcd"><br>
    <input type=button name=action value="Done!" onClick="replaceChars(document.subform.text.value);">
     
    <!-- Or to make it change when the user clicks the next -->
    <!-- field, use this instead of the previous two lines: -->
     
    <!--  <input type=text name=text size=40 value="abcdabcd" onBlur="replaceChars(this.value);">  -->
     
    </form>
    </center>
     
     
     
    <p><center>
    <font face="arial, helvetica" size="-2">Free JavaScripts provided<br>
    by <a href="http://javascriptsource.com">The JavaScript Source</a></font>
    </center><p>
     
    <!-- Script Size:  1.09 KB -->
    et voila les zones de texte contenant les caractéres a remplacer et la cible du resultat de du fonction javascript
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for($i=1;$i<=10;$i++) {
    <input size="70"  dir="ltr" name="url'.$i.'" /><br />
    }

  2. #2
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Salut et bienvenue à toi ^^

    Je crois comprendre ce que tu décris, mais : qu'est-ce qui te manque ? Si tu recherches simplement comment appliquer la fonction aux différents input générés par ton php (qui d'ailleurs ne devrait pas être posté tel quel ), tu peux faire une boucle :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    var inputs = document.getElementById("idDuConteneurDesInputs").getElementsByTagName("INPUT");
    for (var i = 0, iMax = inputs.length; i < iMax; ++i) {
       inputs[i].onBlur = replaceChars(inputs[i].value);
    }

    ...pour les linguistes et les curieux >>> générateur de phrases aléatoires

    __________________

  3. #3
    Candidat au Club
    Inscrit en
    Avril 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    je te remercie RomainVALERI pour ton aide,
    Après poster mon problème j'ai trouvé une solution :
    J'ai ajouté des modifications à la fonction "replaceChars"

    elle devient:


    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <script type="text/javascript">
    <!--
    function replaceChars() { if (document.remplace.text_change.value != "") { out = document.remplace.text_change.value; // remplacer celle-la add = ""; // avec celle-la for(var i=0;i<document.remplace.elements["ad[]"].length;i++) { temp3 = "url" + i;
    entry = document.remplace.elements[[temp3]].value ;
    temp = "" + entry; // stockage temporaire while (temp.indexOf(out)>-1) { pos= temp.indexOf(out);
    temp = "" + (temp.substring(0, pos) + add +
    temp.substring((pos + out.length), temp.length));
    } document.remplace.elements[[temp3]].value = temp ;
    } } } // --> </script>

    et voila l'exemple finale :
    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
    <HEAD>
     
    <script type="text/javascript">
    <!--
    function replaceChars() {
    if (document.remplace.text_change.value != "") {
    out = document.remplace.text_change.value; // remplacer celle-la
    add = ""; // avec  celle-la
    for(var i=0;i<document.remplace.elements["ad[]"].length;i++) {
    temp3 = "url" + i;
    entry = document.remplace.elements[[temp3]].value ;
    temp = "" + entry; // stockage temporaire
    while (temp.indexOf(out)>-1) {
    pos= temp.indexOf(out);
    temp = "" + (temp.substring(0, pos) + add + 
    temp.substring((pos + out.length), temp.length));
    }
    document.remplace.elements[[temp3]].value = temp ;
    }
    }
    }
    // -->
    </script>
    </HEAD>
     
    <BODY>
     
    <center>
    <form name="subform">
        <input type="text" name="text_change"/><br />
    <?php
    for($i=1;$i<=10;$i++) {
    echo ' <input size="70"  dir="ltr" name="url'.$i.'" />
    <input type="checkbox" name="ad[]" ><br />';
    }
    ?>
    <input type="button" value="remplace" onClick="replaceChars();">
    </forme>
    </center>

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

Discussions similaires

  1. [RegEx] Remplacer les <br/> par des sauts à la ligne dans des zones de texte
    Par doncandid dans le forum Langage
    Réponses: 5
    Dernier message: 17/03/2010, 17h59
  2. Réponses: 6
    Dernier message: 12/12/2006, 18h58
  3. Effectuer des calculs dans des zones de texte
    Par flagfight dans le forum IHM
    Réponses: 3
    Dernier message: 07/07/2006, 16h01
  4. Réponses: 10
    Dernier message: 03/07/2006, 14h55
  5. [VBA-E] afficher les données d'une datagrid dans des zones de textes
    Par fadwa dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/05/2006, 13h51

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