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

AJAX Discussion :

Formulaire Javascript vers PHP


Sujet :

AJAX

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2018
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Formulaire Javascript vers PHP
    Bonjour tous le monde,

    Je viens de faire un formulaire en Javascript et j'ai appris que pour pouvoir insérer les réponses dans ma base de données je dois passer par de l'Ajax. Néanmoins je n'ai aucune notion d'Ajax et je souhaiterai que vous me redirigiez vers des tutos ou des sujets traitant de ceci .

    Mon formulaire ressemble a ceci :

    Code html : 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
    <form name="formu" method="post" action="bdd.php"> 
    	Choisir un bu 
    	<select name="listebu" onChange="filltheselect(this.name, this.value)">
    	   <script language="javascript">
    	   for (i=0; i<bu.length; i++)
    	      document.write("<option value=\"" +bu[i][0]+ "\">" +bu[i][1]);
    	   </script>
    	</select>
    	<br>
    	 Choisir un vm
    	<select name="listevm" onChange="filltheselect(this.name, this.value)">
    	   <script language="javascript">
    	   for (i=0; i<vm["p0"].length; i++)
    	      document.write("<option value=\"" +vm["p0"][i][0]+ "\">" +vm["p0"][i][1]);
    	   </script>
    	</select>
    		<h2>Sélectionner la puissance de l'engagement</h2>
    		<button class="buttonr" style="margin: auto" onClick="alert('Requete Envoyé')" type="submit" value="1" name="engagement"><span>Rouge</span></button>
    		<button class="buttonj" style="margin: auto" onClick="alert('Requete Envoyé')" type="submit" value="2" name="engagement"><span>Jaune</span></button>
    		<button class="buttonv" style="margin: auto" onClick="alert('Requete Envoyé')" type="submit" value="3" name="engagement"><span>Vert</span></button>
    </form>

    Et mon php actuel :
    Code html : 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
    <form name="formu" method="post" action="bdd.php"> 
    	Choisir un bu 
    	<select name="listebu" onChange="filltheselect(this.name, this.value)">
    	   <script language="javascript">
    	   for (i=0; i<bu.length; i++)
    	      document.write("<option value=\"" +bu[i][0]+ "\">" +bu[i][1]);
    	   </script>
    	</select>
    	<br>
    	 Choisir un vm
    	<select name="listevm" onChange="filltheselect(this.name, this.value)">
    	   <script language="javascript">
    	   for (i=0; i<vm["p0"].length; i++)
    	      document.write("<option value=\"" +vm["p0"][i][0]+ "\">" +vm["p0"][i][1]);
    	   </script>
    	</select>
    		<h2>Sélectionner la puissance de l'engagement</h2>
    		<button class="buttonr" style="margin: auto" onClick="alert('Requete Envoyé')" type="submit" value="1" name="engagement"><span>Rouge</span></button>
    		<button class="buttonj" style="margin: auto" onClick="alert('Requete Envoyé')" type="submit" value="2" name="engagement"><span>Jaune</span></button>
    		<button class="buttonv" style="margin: auto" onClick="alert('Requete Envoyé')" type="submit" value="3" name="engagement"><span>Vert</span></button>
    </form>


    Je me suis renseigné et j'ai trouvé que je devais insérer ces bouts de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $.ajax({  
        type: 'POST',  
        url: 'bdd.php', 
        data: { listebu: this.title ,listevm: this.title},
        success: function(response) {
            content.html(response);
        }
    });
    Seul problème c'est que je ne sais pas ou le mettre :/

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2018
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Bon j'ai un peu avancé de mon côté, j'ai ajouté ces lignes de codes dans le header de l'index.html :
    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
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script>
          $(function () {
     
            $('form').on('submit', function (e) {
     
              e.preventDefault();
     
              $.ajax({
                type: 'post',
                url: 'bdd.php',
                data: $('form').serialize(),
                success: function () {
                  alert('form was submitted');
                }
              });
     
            });
     
          });
        </script>
    Mais par la suite lorsque je valide le formulaire rien ne se passe dans la base de donnée pourtant j'ai le message qui confirme bien que le form a été envoyé. Qui plus est lorsque je vais dans l'outils inspection de chrome je vois bien que les données sont envoyées.

    Nom : Capture.PNG
Affichages : 366
Taille : 32,8 Ko

  3. #3
    Nouveau Candidat au Club Avatar de _Midona
    Femme Profil pro
    Webmaster
    Inscrit en
    Septembre 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Septembre 2018
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bonjour Bennou07,

    Tout d’abord il n’y a pas de php dans les trois extraits de code que tu donnes.

    Je vais t’expliquer brievemenent le fonctionnement d’ajax :

    Au clic d’un bouton pour envoyer ton formulaire -> appel de JavaScript -> envoi et traitement des données en php -> modification de la base de données -> php transmet le résultat souhaité -> retour des données en JavaScript -> affichage du résultat souhaité sur ta page.

    Le principal intérêt d’Ajax est de soumettre des données et modifier ton affichage sans recharger ta page, si ce n’est pas ton objectif il y a beaucoup plus simple : cherche des infos du côté de bouton «*submit*».

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    je souhaiterai que vous me redirigiez vers des tutos ou des sujets traitant de ceci .
    à lire donc pour commencer : Comprendre les mécanismes d'AJAX

  5. #5
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Et puis au passage, il faudra supprimer ces vilains document.write si tu veux apprendre à programmer correctement en javascript. Puisque tu utilise jquery, il existe .append() pour ajouter du contenu à un élément HTML dans une boucle (ou sans boucle), ou encore .html() pour inclure un bloc en une seule fois.

Discussions similaires

  1. Récupérer une variable javascript vers php sans formulaire
    Par NewDew dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 27/10/2015, 13h53
  2. Réponses: 4
    Dernier message: 13/08/2008, 11h18
  3. [PHP-JS] variable javascript vers PHP
    Par nicoaix dans le forum Langage
    Réponses: 3
    Dernier message: 17/03/2006, 21h28
  4. [PHP-JS] Communication Javascript vers PHP
    Par wwave dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 22/02/2006, 17h50
  5. [PHP-JS] lien javascript vers php
    Par guttts dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/08/2005, 23h00

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