Oui je sais que je peux faire un fichier , mais je voulais que toute mes fonction de cette classe soit dans un même fichier x)
Oui je sais que je peux faire un fichier , mais je voulais que toute mes fonction de cette classe soit dans un même fichier x)
Alors appelle cette fonction comme ça http://www.developpez.net/forums/d10...commande-ajax/ , mais te plaints si tu fais beaucoup de choses d'un coup
Bon j'ai fais un fichier comme tu m'as dis et ça ne m'affiche rien.
EDIT :
Code : Sélectionner tout - Visualiser dans une fenêtre à part $valeur_select = isset($_GET['choix']) ? $_GET['choix']:null;Je pref faire des choses plus simple pour le moment et comprendre en faitAlors appelle cette fonction comme ça http://www.developpez.net/forums/d10...commande-ajax/ , mais te plaints si tu fais beaucoup de choses d'un coup
le ['choix'] correspond a quoi ?
C'est un paramètre avec comme nom "choix" et comme valeur la variable x, qui est l'option selectionnée de ton select. (En espérant que tu aies bien sur changer l'ID que j'avais mis.)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 function myFunction() { // Tu récupères la valeur selectionnée du select var x = document.getElementById("mySelect").value; // Requête AJAX $.ajax({ // ton fichier php url: 'afficherMessage.php', data: { choix: x } }) }
Oui j'ai bien mis l'id sur le select comme tu m'as indiqué mais il ne se passe toujours rien ..En espérant que tu aies bien sur changer l'ID que j'avais mis.)
EDIT : Ou alors sur afficheMessage.php ma co avec ma bdd ne marche pas :/
Poste ton code alors... Je peux difficilement le deviner, avec toute la bonne volonté qui m'habite.
Oui c'est vrai çaJe peux difficilement le deviner, avec toute la bonne volonté qui m'habite.
afficherMessage.phpMa page formulaire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <?php $pdo = new PDO('mysql:host=localhost; dbname=appli', 'root', ''); $valeur_select = isset($_GET['choix']) ? $_GET['choix']:null; $q = $this->pdo->prepare("SELECT cat_message FROM categorie where cat_id = ".$valeur_select); $q->execute ;
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90 <!DOCTYPE html> <html > <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> <form class='form-inline' method="post" action=""> <div class="form-group"> <p > <label >Numéro Dossier </label> : <input type="text" name="numDoss" /> </p> <p > <label>Adresse destinataire</label> : <input type="mail" name="adrDest" /> </p> <p> <label>Catégorie</label> : <select id="mySelect" onchange="myfunction()" name="categorie"> <option value="0">Choisir une catégorie</option> <?php $cats = $managerCat->getList(); foreach ($cats as $cat) { echo "<option value='".$cat->getId()."'>".$cat->getLibelle()."</option>" ; } ?> </select> </p> <p> <label>Sujet </label> : <input type="text" name="sujet" /> </p> <p> <label> Corps du message </label> </br> <textarea name="corps" ></textarea> </p> <p> <select name="pers" > <?php $pers = $managerPer->getList(); ?> <option value="0">Choisir une personne</option> <?php $pers = $managerPer->getList(); foreach ($pers as $per) { echo "<option value='".$per->getId()."'>".$per->getNom()."</option>" ; } ?> </select> </p> <p> <input type="submit" class='btn btn-default' value="Envoyer" name = "Envoyer"> </p> </div> </form> </body> </html> <?php if (!empty($alert)) { echo '<p style="color:red">'.$alert.'</p>'; } ?> <!-- script javascript --> <script> function myFunction() { // Tu récupères la valeur selectionnée du select var x = document.getElementById("mySelect").value; // Requête AJAX $.ajax({ // ton fichier php url: 'afficherMessage.php', data: { choix: x } }) </script>
Après il se pourrais que j'ai fais des étourderie :s
EDIT : Deja j'ai vue que l'appel de la fonction n'avais pas le meme nom que la fonction , je l'ai changé en vain...
Du coup je viens de voir pourquoi il y a rien qui s'affiche en fait, car y'a rien dans la focntion js qui dis d'afficher le message dans le "corps"
avec une majuscule c'est déjà mieux
Code : Sélectionner tout - Visualiser dans une fenêtre à part <select id="mySelect" onchange="myfunction()" name="categorie">
Met du débug histoire de savoir ou ça passe et ou ça passe pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part <select id="mySelect" onchange="myFunction()" name="categorie">
Oui j'avais vue ça mais ça ne passe toujours pas ...
Voilà, donc on avance.
Tu as maintenant en option d'une requête AJAX, le paramètre success :
Dans un premier temps fais un alert, pour voir le contenu de ton data. (ou un console.log, comme tu préfères)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 function myFunction() { // Tu récupères la valeur selectionnée du select var x = document.getElementById("mySelect").value; // Requête AJAX $.ajax({ // ton fichier php url: 'afficherMessage.php', data: { choix: x }, success: function(data) { alert(data); } }) }
Renseignes toi sur l'option success d'une requête ajax
Bonjour,
Désolé de répondre qu'aujourd'hui ^^
L'alert n'affiche rien ... :/
Essaie un console.log(data) et regarde dans la console de debug
Dans la console
J'obtiens
SyntaxError: missing } after property list form.php:92:4
ReferenceError: myFunction is not defined
Poste ton code alors, il te manque un caractère quelque part. (Je peux encore une fois pas faire le boulot à ta place si tu postes pas :/)
Je poste la fonction
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 <script> function myFunction() { // Tu récupères la valeur selectionnée du select var x = document.getElementById("mySelect").value; // Requête AJAX $.ajax( { // ton fichier php url: 'afficherMessage.php', data: { choix: x } success: function(data) { alert(data); } console.log(data) ; } ) }
Désolé(Je peux encore une fois pas faire le boulot à ta place si tu postes pas :/)
La virgule
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 function myFunction() { // Tu récupères la valeur selectionnée du select var x = document.getElementById("mySelect").value; // Requête AJAX $.ajax( { // ton fichier php url: 'afficherMessage.php', data: { choix: x }, success: function(data) { alert(data); } console.log(data) ; }) }
Oui je viens justement de voir qu'il manque un virgule mais l'erreur apparait toujours , je cherche ce qu'il manque ...
J'ai pas fais attention mais ce sera mieux comme ça
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 function myFunction() { // Tu récupères la valeur selectionnée du select var x = document.getElementById("mySelect").value; // Requête AJAX $.ajax( { // ton fichier php url: 'afficherMessage.php', data: { choix: x }, success: function(data) { console.log(data); } }) }
Oui c'est mieux déjà; je n'ai plus de paramètre manquant =)
Par contre toujours rien qui s'affiche
Débug plus haut alors...
Et affiche dans ton php la variable "choix" pour voir si tu la récupères bien.
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 function myFunction() { // Tu récupères la valeur selectionnée du select var x = document.getElementById("mySelect").value; console.log(x); // Requête AJAX $.ajax( { // ton fichier php url: 'afficherMessage.php', data: { choix: x }, success: function(data) { console.log(data); } }) }
Peux-tu remettre ta fonction php également? J'ai un doute sur le fait que tu retournes quelque chose.
Partager