Déclaration du variable javascript

Résolu
Bonjour,

function confirmation() {
window.open('addevent.php?add='+document.write(code));
}
il me donne "undefined" ,

quelqu'un peux m'aider ,
merci

15 réponses

  1. Webmaster
    Forcément ! Il ne connait pas "code" ! Une première idée serait de passer le code en argument de la fonction :

    function confirmation(code) {
            window.open('addevent.php?add='+document.write(code));
    } 
    
    confirmation(1);

    1. Bonjour,
      vous n'avez pas declaré la variable "code" si celle-ci est une variable il faut la déclarer comme suit:

      function confirmation() {
      var code;
      ; après il faut initialiser cette variable exemple : code = "Salut"
      window.open('addevent.php?add='+document.write(code));
      }

      si non si vous considerez code comme constante il faut faire comme ça :
      function confirmation() {
      window.open('addevent.php?add='+document.write("code"));
      }

      Bonne chance.
      A bientôt.
      1. je vous transfert mon code complet,
        je voudrai transporter le contenu du textarea vers la page addevent.php affin de l'injecter dans mon base

        function confirmation(vari) {
        location.replace("addevent.php?add="+document.write(vari));
        }

        </script>
        <div>
        <form name="form">
        <textarea class="full" name="code" > </textarea>
        <p>
        <INPUT TYPE="Button" onClick="confirmation(code);" VALUE="ajouter">
        </form>
        </div>
        </body>
        1. Donc modifiez-vous les 2 lignes suivantes :

          <textarea class="full" id="code" > </textarea>

          <INPUT TYPE="Button" onClick="confirmation(document.getElementById(code).value);" VALUE="ajouter">
          1. Webmaster
            Et j'ajouterais qu'il faut urlencoder le résultat au niveau de la fonction pour éviter les mauvaises surprises :

            function confirmation(vari) {
            location.replace("addevent.php?add="+document.write(encodeURI(vari)));
            } 
            
            <textarea class="full" id="code" > </textarea>
            
            <INPUT TYPE="Button" onClick="confirmation(document.getElementById(code).value);" VALUE="ajouter">


            1. il me donne un "Erreur sur la page", je pense le prob sur
              <INPUT TYPE="Button" onClick="confirmation(document.getElementById(code).value);" VALUE="ajouter">
              1. Webmaster
                Dans ta page change ceci :
                <textarea class="full" name="code" > </textarea>


                Par ceci :
                <textarea class="full" name="code" id="code"> </textarea>

                1. Webmaster
                  Essaye sous Firefox puis tape javascript: dans la barre d'adresse, ce sera sûrement plus compréhensible !
                  1. Webmaster
                    <script type="text/javascript">
                    <!--
                    function confirmation(vari) {
                    location.replace("addevent.php?add="+document.write(encodeURI(vari)));
                    } 
                    //-->
                    </script>
                    
                    <textarea class="full" name="code" id="code" > </textarea>
                    <input type="Button" onSubmit="confirmation(document.getElementById(code).value);" VALUE="ajouter">

                    1. j'ai activé le Débogage des scripts dans internet explorer;
                      et il m'a marqué : confirmation(document.getElementById(code).value)
                      1. j'ai essayé http://www.js-doc.com/fonctions/decodeuri.html
                        et peu importe que j'écri il m'affiche : %255Bobject%255D
                        ce qui est équivalent: [objet]
                        1. Bonsoir,

                          Pourquoi veux tu absolument passer le contenu de ton textearea par l'URL ?

                          Tu sera limité à 255 caractères et si il y a des caractères spéciaux, galère !

                          Ton textearea est dans un formulaire ?

                          <form method"post" action="addevent.php">
                          
                          <textarea class="full" name="code" id="code" > </textarea>
                          <input type="Submit" value="ajouter">
                          </form>
                          
                          et dans addevent.php tu récupéres par:
                          
                          $texte=$_POST['code'];
                          
                          
                          1. j'ai trouvé:

                            function confirmation(vari) {
                            vari=decodeURI(vari);
                            location.replace("addevent.php?add="+ vari);
                            }
                            <INPUT TYPE="Button" VALUE="ajouter" onClick="confirmation(encodeURI((code).value));"/>

                            Alain_42 ta methode fonctionne très bien, je sais pas pqoi , jé compliqué mon code

                            en tou ca merci à tous
                            1. Webmaster
                              Ouf :-)