Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Javascript] Effacement imprévu

Sujet résolu
    9 avril 2006 à 21:42:32

    Bonjour tout le monde !
    Voial en fait je suis en train de commencer le js et je faisais des petits tests mais j'ai eu une erreur en essayant de faire un petit formulaire et quand on "quitte" l'entrée (onBlur) on met un "V" si c'est bon ou un "X" si c'est mauvais, malheureusement quand je quitte l'entrée la page se rafraîchit et on voit juste V ou X donc il n'y a plus d'input ...
    Le code ?

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
            <head>
                    <title>Essais Javascript</title>
                    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
            </head>
           
            <body>
                    <form name="form">
                            <input type="text" name="input" onBlur="code();" />
                           
                            <script language="Javascript">
                                    function code()
                                    {
                                            var texte = document.form.input.value;
                                            if(texte == 'kangourou')
                                            {
                                                    document.write('V');
                                            }
                                            else
                                            {
                                                    document.write('X');
                                            }
                                    }
                            </script>
                    </form>
            </body>
    </html>
    • Partager sur Facebook
    • Partager sur Twitter
      9 avril 2006 à 22:10:05

      Le problème c'est ton document.write('V'); et ton document.write('X');

      Ceux-ci réécrivent la page, c'est-à-dire qu'ils effacent tout et écrivent ce que tu veux. Ce que tu dois faire, c'est un document.form.input.value = V; (ou X;) ou un truc du genre pour que seule la valeur de ta zone change.

      J'espère que ça va t'aider, mais il faut dire que je suis pas très doué en JS.

      Bonne chance

      PS: en tous cas ce que je peux te dire c'est que ton problème vient des document.write()

      EDIT: je ne suis pas sûr de mon coup, mais tu peux créer un inline span là ou tu veux que ton V ou ton X apparaisse. Tu lui donnes un id, et tu fais référence à lui par getElementById(ton id).innerHTML.
      Ton code deviendrait:

      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
              <head>
                      <title>Essais Javascript</title>
                      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
              </head>
             
              <body>
                      <form name="form">
                              <input type="text" name="input" onBlur="code();" />
                              <span id="id"></span>
                              <script language="Javascript">
                                      function code()
                                      {
                                              var texte = document.form.input.value;
                                              if(texte == 'kangourou')
                                              {
                                                      document.getElementById(id).innerHTML = "V";
                                              }
                                              else
                                              {
                                                      document.getElementById(id).innerHTML = "X";
                                              }
                                      }
                              </script>
                      </form>
              </body>
      </html>


      RE EDIT: après essai, je crois que ça ne marche pas... Enfin, j'espère que j'ai quand même pu te donner des pistes... :s
      • Partager sur Facebook
      • Partager sur Twitter
        9 avril 2006 à 22:59:39

        oui ca marche, mais comme c'est des inputs, c'est plutot ca :

        // Pour récupérer la valeur :

        document.nomformulaire.nomchamp.value;

        // Pour changer la valeur :

        document.nomformulaire.nomchamp.value = "ta valeur";
        • Partager sur Facebook
        • Partager sur Twitter
          10 avril 2006 à 9:16:33

          Non en fait c'est pas ça que j'aimerai je voudrai plutôt qu'il y ait un V ou un X à côté du input
          • Partager sur Facebook
          • Partager sur Twitter
            10 avril 2006 à 12:49:42

            Voici ton code qui marche. J'ai
            - mis le script de les balises <head> (j'ai appris comme ça mais c'est peut-etre pas la bonne façon...)
            - ajouté une balise <span id="reussi"> avant ton input (c'est là que sera affiché ton V ou ton X)
            - changé ton document.write("V") en document.getElementById(reussi).innerHTML = "V";

            <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
            <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
                    <head>
                            <title>Essais Javascript</title>
                            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
            <script language="Javascript">
               function code()
                   {
                       var texte = document.form.input.value;
                       if(texte == 'kangourou')
                       {
                            document.getElementById('reussi').innerHTML = "V ";
                       }
                       else
                       {
                            document.getElementById('reussi').innerHTML = "X ";
                       }
                   }
            </script>

                    </head>
                   
                    <body>
                            <form name="form">
                                    <span id="reussi"></span>
                                    <input type="text" name="input" OnBlur="code()" />
                            </form>
                    </body>
            </html>


            Chez moi il marche, j'espère que c'est ce que tu voulais.
            • Partager sur Facebook
            • Partager sur Twitter
              10 avril 2006 à 13:05:29

              OK merci je vais essayer sinon toi tu as appris grâce à quoi le js ?
              • Partager sur Facebook
              • Partager sur Twitter
                10 avril 2006 à 17:03:25

                Je ne l'ai pas vraiment appris. J'ai juste acheté un livre qui donnait de nombreux exemples, mais j'ai surtout appris le peu que je sais en bidouillant les scripts que je trouvais sur le net... Mais sinon il existe de nombreux sites qui apprennent le JS, il suffit juste de se pencher sur notre ami Google ^^
                • Partager sur Facebook
                • Partager sur Twitter
                  10 avril 2006 à 18:54:25

                  Ah ok mais sinon tu peux m'aider ? Tu pourrais m'expliquer en bref les regex pour remplacer un mot dans une chaine ? (c'est pour la previsualisation d'un formulaire donc j'aimerai voir à l'apercu Texte en gras (par exemple) à la place de [gras]Texte en gras[/gras]
                  • Partager sur Facebook
                  • Partager sur Twitter
                    10 avril 2006 à 20:28:49

                    Ouf ça je peux pas t'aider, je connais pas :s désolé -_-
                    tu peux peut-être trouver des pistes en tapant prévisualisation javascript sur google, ou un truc du genre ^^

                    EDIT: en 5 minutes de recherches => http://www.editeurjavascript.com/scripts/scripts_formulaires_3_415.php
                    • Partager sur Facebook
                    • Partager sur Twitter
                      10 avril 2006 à 22:13:23

                      Euh oui j'avais trouvé mais ce n'est pas expliqué ...
                      Moi ce que je voudrai c'est apprendre, comprendre et faire et pas trouver, mettre et hop basta c'est mis :lol:
                      • Partager sur Facebook
                      • Partager sur Twitter
                        10 avril 2006 à 22:15:08

                        Alors je ne peux pas t'aider, désolé. Mon niveau est beaucoup plus bas que ça (c'est pour dire ... )
                        • Partager sur Facebook
                        • Partager sur Twitter
                          11 avril 2006 à 8:44:08

                          Oh dommage c'est embêtant il n'y a pas beaucoups de codeurs js ici :'( ...
                          • Partager sur Facebook
                          • Partager sur Twitter

                          [Javascript] Effacement imprévu

                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                          • Editeur
                          • Markdown