Dans quelle partie je vais insérer le bouton submit
Dans quelle partie je vais insérer le bouton submit
ICI
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 </select> <input type='submit' name='ok' value='ok' /> </form> </body> </html>
Bonjour tout le monde,
Et ça marche mais lorsque j'ai programmé l'événement
onchange() sur la première liste déroulante mais la deuxième ne s'affiche pas.
Voici le code de ma page test :
Pour faire fonctionner Ajax Amesterdam, il y a des fichiers
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 <?php include "connexion.php"; function xajax_AfficherLesson($id) { $reponse = new xajaxResponse();//Création d'une instance de xajaxResponse pour traiter les réponses serveur $lesson='';// Initialisation de la variable $lesson //la selection des leçons selon le code du chapitre choisis $req = mysql_query("SELECT `nl`,`noml` FROM `chapitres`,`lesson` where lesson.nc=".$id." and chapitres.numc=".$id) or die(mysql_error()); $lesson .="<select id=\"lesson\">"; // on commence la declaration de la liste des lessons de ce cahpitre $lesson .="<option value=\"00\">Selectionnez Lesson</option>"; while($array = mysql_fetch_array($req)) { $lesson .="<option value=\"".$array['nl']."\">".$array['noml']."</option>"; } $lesson .="</select>"; $reponse = new xajaxResponse('ISO-8859-1'); $reponse->addAssign("afflesson","innerHTML",$lesson); // affichage du contenu de $lesson (la liste des leçons) dans le div affVille return $reponse->getXML(); } require("xajax.inc.php"); $xajax = new xajax(); //On initialise l'objet xajax $xajax->setCharEncoding('ISO-8859-1'); $xajax->decodeUTF8InputOn(); $xajax->registerFunction("xajax_AfficherLesson"); $xajax->processRequests();//Fonction qui va se charger de faire les requetes APRES AVOIR DECLARER NOS FONCTIONS ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Test</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <?php $xajax->printJavascript(); /* Affiche le Javascript */?> </head> <body> <select id="c" size="1" OnChange="xajax_AfficherLesson(document.getElementById('c').value);" > <option value="1">Chapitre 1 </option> <option value="2">Chapitre 2 </option> <option value="3">Chapitre 3 </option> <option value="4">Chapitre 4 </option> <option value="5">Chapitre 5 </option> <option value="6">Chapitre 6 </option> </select> <div id="afflesson">Bonjour</div> <p> </p></body> </html>
que je l'ai copié dans le répertoire racine qui sont :
le dossier xajax_js
et le fichiers : xajaxResponse.inc.php, xajaxCompress.php
et xajax.inc.php
Est ceque c'est correct ça?
Voici la réponse mais la récupération de la valeur sélectionner dans la première liste ne se fait pas $_Post
Voici le code :
Si je met $a=$_POST["c"] par $a=4 elle marche en m'affichant les leçons de la 4éme leçon.
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 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Test</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <select id="c" size="1" > <option value="1">Chapitre 1 </option> <option value="2">Chapitre 2 </option> <option value="3">Chapitre 3 </option> <option value="4">Chapitre 4 </option> <option value="5">Chapitre 5 </option> <option value="6">Chapitre 6 </option> </select> <?php echo("<select name=\""."l\""."size=\"1\">"); $host="localhost"; $user="root"; $password="mysql"; $base="projet"; $connect=mysql_connect($host,$user,$password); if($connect==false) {die("la connexion a échoué"); } $connectbase=mysql_select_db($base); if($connectbase==false) { echo("basse inaccessible"); } $a=$_POST["c"];//récupérer la première valeur de la première liste $res=mysql_query("select * from chapitres,lesson where lesson.nc=$a and chapitres.numc=$a"); $i=0; //echo"<br> rien"; while($reg=mysql_fetch_array($res)) { $i++; echo "<option value=\"$i\">"."<br>Leçon".$reg["nl"]." : ".$reg["noml"]."</option> "; } echo"</select>"; //echo"<br> rien"; //echo"$a"."bobobo"; ?> <!--<div id="afflesson">Bonjour</div>--> <p> </p></body> </html>
il n'y a pas d'evenement onchange() dans ton deuxieme code.
N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP
Voici le code qui contient l'évènement onchange :
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 <?php include "connexion.php"; function xajax_AfficherLesson($id) { $reponse = new xajaxResponse();//Création d'une instance de xajaxResponse pour traiter les réponses serveur $lesson='';// Initialisation de la variable $lesson //la selection des leçons selon le code du chapitre choisis $req = mysql_query("SELECT `nl`,`noml` FROM `chapitres`,`lesson` where lesson.nc=".$id." and chapitres.numc=".$id) or die(mysql_error()); $lesson .="<select id=\"lesson\">"; // on commence la declaration de la liste des lessons de ce cahpitre $lesson .="<option value=\"00\">Selectionnez Lesson</option>"; while($array = mysql_fetch_array($req)) { $lesson .="<option value=\"".$array['nl']."\">".$array['noml']."</option>"; } $lesson .="</select>"; $reponse = new xajaxResponse('ISO-8859-1'); $reponse->addAssign("afflesson","innerHTML",$lesson); // affichage du contenu de $lesson (la liste des leçons) dans le div affVille return $reponse->getXML(); } require("xajax.inc.php"); $xajax = new xajax(); //On initialise l'objet xajax $xajax->setCharEncoding('ISO-8859-1'); $xajax->decodeUTF8InputOn(); $xajax->registerFunction("xajax_AfficherLesson"); $xajax->processRequests();//Fonction qui va se charger de faire les requetes APRES AVOIR DECLARER NOS FONCTIONS ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Test</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <?php $xajax->printJavascript(); /* Affiche le Javascript */?> </head> <body> <select id="c" size="1" OnChange="xajax_AfficherLesson(document.getElementById('c').value);" > <option value="1">Chapitre 1 </option> <option value="2">Chapitre 2 </option> <option value="3">Chapitre 3 </option> <option value="4">Chapitre 4 </option> <option value="5">Chapitre 5 </option> <option value="6">Chapitre 6 </option> </select> <div id="afflesson">Bonjour</div> <p> </p></body> </html>
Onchange() declenche une fonction Javascript, pas une fonction PHP.
Utiliser la console d'erreur de Firefox par exemple si tu te mets au javascript, elle t'aurait signalé que ta fonction n'existait pas.
D'autre part, la valeur d'une liste de choix est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part document.getElementById('c').options[document.getElementById('c').selectedIndex].value;
N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP
Salut tout le monde,
J'ai consulté le console comme vous avez dit et vous avez raison voici le code que j'ai récupérer à partir du console
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 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Test</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script type="text/javascript"> var xajaxRequestUri="http://127.0.0.1/site%20web/liste.php"; var xajaxDebug=false; var xajaxStatusMessages=false; var xajaxWaitCursor=true; var xajaxDefinedGet=0; var xajaxDefinedPost=1; var xajaxLoaded=false; function xajax_AfficherLesson(){return xajax.call("AfficherLesson", arguments, 1);} </script> <script type="text/javascript" src="xajax_js/xajax.js"></script> <script type="text/javascript"> window.setTimeout(function () { if (!xajaxLoaded) { alert('Error: the xajax Javascript file could not be included. Perhaps the URL is incorrect?\nURL: xajax_js/xajax.js'); } }, 6000); </script> </head> <body> <select id="c" size="1" OnChange="AfficherLesson(document.getElementById('c').options[document.getElementById('c').selectedIndex].value);" > <option value="1">Chapitre 1 </option> <option value="2">Chapitre 2 </option> <option value="3">Chapitre 3 </option> <option value="4">Chapitre 4 </option> <option value="5">Chapitre 5 </option> <option value="6">Chapitre 6 </option> </select> <div id="afflesson">Bonjour</div> <p> </p></body> </html>
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager