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 caract�re


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    14
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 14
    Par d�faut Remplacer un caract�re
    Bonjour,

    je fais un esp�ce de "pendu" et je souhaiterais remplacer le mot qui est cach� (compos� de *) par les bonnes lettres si elles ont �t� trouv�es.

    J'ai d�ja fait ceci:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     function ajoutlettre()
    {
        lett=document.getElementById("lettre").value
            for (i=0; i<lg; i=i+1)
            {
     
               if (lett=mot.charAt(i)) 
                {
                motcache.charAt(i)=mot.charAt(i)
                }
     
            }
    }
    Cette fonction est appel�e lorsque je clique sur le bouton "OK" qui va chercher la lettre qui est dans la zone de saisie.

    Mais ceci: motcache.charAt(i)=mot.charAt(i)

    �a a pas l'air de marcher ...

    Pouvez-vous m'aider ?

  2. #2
    Expert �minent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par d�faut
    Bonjour,

    Ce n'est pas aussi rapide que cela.
    Tout d'abord, la comparaison en Javascript se fait avec deux �gales:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    if (lett==mot.charAt(i))
    Ensuite, nous ne savons pas ce que sont motcache et mot. Des objets ? Des .value ? Des chaines de caract�res ?

    Le mot cach� (avec les *) est dans un input ? Un div ? Un span ? Un... ?
    Car sans �a, on ne sait pas si on doit modifier un .value, un .innerHTML, etc.

    Je n'ai pas test� mais faire un charAt(i) = charAt(i) n'est sans doute pas la bonne m�thode. Ce serait plut�t un replace(charAt(i), charAt(i));

  3. #3
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    plus facile serait d' utiliser un un split...

    Vite fait la base du script a am�liorer :
    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
    <style type="text/css">
    #affiche {letter-spacing:3px;
               text-align:center;}
    </style>
    <script type="text/javascript">
    var mot=""
    var tabmot, tabsol;
    var solution ="developpez"
     
    function init(){
    	tabsol=solution.split('')
    	var i=0
    	while(tabsol[i++]){mot+="*";}
    	tabmot=mot.split('')
    	document.getElementById('affiche').value=mot
     
    	}
     
    function check(){
    var propos=document.getElementById('saisie').value
    var tabpropos=propos.split('')
    var tpl=tabpropos.length
    if(tpl!=tabsol.length){alert('Le nombre de lettres est incorrect!');
    							return false;
    							}
    for(i=0;i<tpl;i++){
             if(tabsol[i]==tabpropos[i]){tabmot[i]=tabsol[i]}
             }
       mot=tabmot.join('')
       document.getElementById('affiche').value=mot
    }     
     
    </script>
    </head>
     
    <body onload="init()">
    <input type="text" value="" readonly="readonly" id="affiche" /><br />
    <input type="text" value="" id="saisie"  /><br />
    <input type="button" onclick="check()" value="valider" />
    </body>
     
    </html>
    c'est une version dans laquelle il faut que la bonne lettre soit plac�e au emplacement
    Si tu veux une version ou l'on propose une lettre � la fois et elle est accept�e ou que soit sa place dans le mot il faudra passer par une regexp
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  4. #4
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    Quoi que ... m�me pas ^^

    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
    <html>
     
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Nouvelle page 1</title>
    <style type="text/css">
    #affiche {letter-spacing:3px;
               text-align:center;}
    #saisie {text-align:center;}
    </style>
    <script type="text/javascript">
    var mot=""
    var tabmot, tabsol;
    var solution ="developpez"
    var ml
     
    function init(){
    	tabsol=solution.split('')
    	var i=0
    	while(tabsol[i++]){mot+="*";}
    	tabmot=mot.split('')
    	document.getElementById('affiche').value=mot
    	ml=tabmot.length
    	}
     
    function check(){
    var propos=document.getElementById('saisie').value
     
    for(i=0;i<ml;i++){
             if(tabsol[i]==propos){tabmot[i]=propos}
             }
       mot=tabmot.join('')
       document.getElementById('affiche').value=mot
       document.getElementById('saisie').value=""
        document.getElementById('saisie').focus()
    }     
     
    </script>
    </head>
     
    <body onload="init()">
    <input type="text" value="" readonly="readonly" id="affiche" /><br />
    <input type="text" value="" id="saisie"  maxLength="1"/><br />
    <input type="button" onclick="check()" value="valider" />
    </body>
     
    </html>
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

Discussions similaires

  1. Remplacement du caract�re ?
    Par Mvu dans le forum ASP
    R�ponses: 9
    Dernier message: 06/01/2005, 18h11
  2. R�ponses: 11
    Dernier message: 01/12/2004, 19h09
  3. [CR] Chercher et remplacer un caract�re dans 1 chaine
    Par franck.cvitrans dans le forum SAP Crystal Reports
    R�ponses: 2
    Dernier message: 29/09/2004, 16h42
  4. Fonction permettant de remplacer des caract�res
    Par PrinceMaster77 dans le forum ASP
    R�ponses: 3
    Dernier message: 06/09/2004, 15h48
  5. Remplacer un caract�re
    Par Mvu dans le forum ASP
    R�ponses: 5
    Dernier message: 20/07/2004, 09h57

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