Partage
  • Partager sur Facebook
  • Partager sur Twitter

aide JS

    27 novembre 2010 à 19:44:53

    bonjour je suis encore coincé dans mon code,j'arrive pas a exécuté une requette http au moment d'envoie du formulaire
    sauf si j’insère une Alert()qui me sert a rien dans la fonction du requete Http tout marche bien
    est ma requete s’exécute avec succès,donc sans une alert ma requête marche pas
    le fichier cible2.php contient une requete sql d ajout au BDD


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> 
    <head> 
     <script type="text/javascript">
      function fun1()
    { 
    var xhr = new XMLHttpRequest();
    var mdp = document.getElementById("password_idbar").value;
    var ndc = document.getElementById("login_idbar").value;
    
    	xhr.open("POST", "cible2.php", true);
    	xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    	xhr.send("variable1=" + ndc + "&variable2=" + mdp);
    	
    	return 	true; 
    // avec une Alert mon code marche 
    alert ('npk')
    }
    </script>
    </head> 
    <body>
               
     <form id="login_form" method="post"  onsubmit="return fun1()"  action="cible1.php"> 
               <input id="login_idbar" type="text"  name="login" /> 
              <input type="password" id="password_idbar" id="pasword-idbar"/> 
              <input type="submit" value="ok" class="btn" /> 
               </form> 
    
      </body>
    </html>
    
    • Partager sur Facebook
    • Partager sur Twitter
      27 novembre 2010 à 20:13:39

      Comme ça "ça passe pas" ?
      • Partager sur Facebook
      • Partager sur Twitter
        27 novembre 2010 à 20:20:38

        déjà rajoute un ";" aprés toutes les lignes de codes javascript ( je pense notamment a la ligne 10 de ta 4eme balise de code aprés le alert )
        • Partager sur Facebook
        • Partager sur Twitter
          27 novembre 2010 à 20:33:26

          Golmote

          ca marche pas ==> l’enregistrement au BDD données

          Almandin

          ca change rien les ";" c'est pas du PHP de plus j'aimerai pas mettre l'alert au dessus du requette HTTP pour que l'enregistrement passe
          donc sans une ALERT qui me sert a rien j'arrive pas a enregistrer les données dans la BDD
          • Partager sur Facebook
          • Partager sur Twitter
            27 novembre 2010 à 20:52:23

            Mets :

            onsubmit="fun(this); return false;"
            


            Sinon ton formulaire sera effectivement envoyé.
            • Partager sur Facebook
            • Partager sur Twitter
              27 novembre 2010 à 21:14:37

              Citation : Golmote

              Mets :

              onsubmit="fun(this); return false;"
              



              Sinon ton formulaire sera effectivement envoyé.



              j'ai fais ce que tu ma dis ça marche bien (la requette HTTP marche sans Alert) sauf que la formulaire s’envoie pas !!! :euh:
              • Partager sur Facebook
              • Partager sur Twitter
                27 novembre 2010 à 21:44:19

                oui j'ai lue que L'objet XMLHttpRequest mais y'a pas un exemple pour exécuté un requette HTTP est envoie une form même temps
                je suis avec toi la formulaire s'envoie directement donc la requête s’exécute pas mais pourquoi avec une alert ca marche !!!!
                • Partager sur Facebook
                • Partager sur Twitter
                  27 novembre 2010 à 22:02:24

                  Tu devrais peut-être vérifier l'état de l'objet XHR avec le xhr.onreadystatechange = function () {
                  //Tu examine l'état de l'objet.
                  }

                  et aussi tu devrais utiliser la fonction encodeURIComponent() pour être sur que tu te protège des espace, des & et des <> et autres caractère spéciaux.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    27 novembre 2010 à 22:07:28

                    l'état de l'objet XHR sert dans le cas si le fichier PHP renvoie des valeur donc pour le traitement mais pour moi juste une requête d'ajout

                    de plus j'ai mon code marche bien sauf que si j enlève l'alert il marche plus
                    • Partager sur Facebook
                    • Partager sur Twitter
                      27 novembre 2010 à 22:09:05

                      ... Mais y'a un truc que je suis pas.

                      Pourquoi tu fais une requête Ajax si c'est pour ensuite envoyer le formulaire ?
                      • Partager sur Facebook
                      • Partager sur Twitter
                        27 novembre 2010 à 22:30:58

                        Golmote
                        bon le code étais tout simple que pour traité les données de formulaire avec le fichier PHP pour généré un fichier PDV avec les données
                        mais maintenat je dois enregistré 2 champs de la form dans la BDD sans utilisé fichier php de la form
                        c'est pour ça j'ai choisis de faire une requette HTTP

                        • Partager sur Facebook
                        • Partager sur Twitter
                          27 novembre 2010 à 22:53:21

                          Bah c'est ridicule. Si tu soumets le formulaire, alors tu fais tous les traitements côté PHP. Point.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            27 novembre 2010 à 23:43:34

                            c'est pas ridicule,le fichier PHP qui traite les données je peut pas le touché pacque il appartient à un autre site
                            donc ma formulaire se poste dans un fichier extérieur
                            je veut juste récupéré 2 valeur du form avant qu'il soit envoyé
                            • Partager sur Facebook
                            • Partager sur Twitter

                            aide JS

                            × 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