bonjour a tous,
voila j'ai une page contenant une liste déroulante. Cette liste possede 3 option: "Renault", "Peugeot", "Citroen". Lorsque je clique sur renault ,ca m'affiche une autre liste déroulante, contenant "Clio" et "Laguna", et lorsque je clique sur peugeot, ca m'affiche "205" et "607"...
Ca marche bien, seulement j'aimerais utiliser la valeur contenu dans la 2eme liste déroulante (205 ,clio par exemple). Donc j'utilise un formulaire. Et a ce moment là, kan je clique sur la marque de la voiture (renault) ,j'obtient un message d'erreur de firebug:
>>action is not a function.
Sans formulaire, ca veut bien m'afficher la 2eme liste, et dans un formulaire ca ne marche plus
Savez vous d'ou vient cette erreur svp ?
Voici mon script contenant le formulaire:
Code :
- <html>
- <head>
- <title>Page de test 1 Ajax</title>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- </head>
- <body>
- <script type="text/javascript">
- var objRequete = new XMLHttpRequest();
- function action() {
- // fonction appelée. param non utilisée ici
- //var ma_variable=document.getElementById("..." ).value;
- objRequete.open('get','traite2.php?select1='+document.getElementById("Sel1" ).value,true);
- objRequete.onreadystatechange = fonction_Retour_Reponse;
- objRequete.send(null); // envoie de la requete
- return true; // la fonction retourne vrai (sans incidence ici - syntaxiquement correct)
- }
- function fonction_Retour_Reponse() {
- if (objRequete.readyState==4) {
- //alert(objRequete.responseText);
- document.getElementById("zonetext" ).innerHTML=objRequete.responseText;
- }
- }
- </script>
- <FORM id="idForm6" method="POST">
- <select name="select1" id="Sel1" onChange="action();">
- <option value="0">renault</option>
- <option value="1">peugeot</option>
- <option value="2">citroen</option>
- </select>
- <p id="zonetext">
- </p>
- <INPUT type="submit" value="Executer" name="ok">
- </FORM>
- <?php
- if (isset($_POST['voiture'])) {
- echo "OK";
- }
- ?>
- </body>
- </html>
|
et voici le traitement php:
Code :
- <?php
- $renault=array("clio","laguna" );
- $peugeot=array("205","607" );
- $citroen=array("ax","bx" );
- if ($_REQUEST["select1"] == "0" ) {
- print("<SELECT NAME =\"voiture\">" ); //indication du nom de la variable qui sera envoyée
- for($i=0;$i<sizeof($renault);$i++)
- {
- print("<OPTION VALUE = ".$renault[$i]."> ".$renault[$i]);
- }
- print("</SELECT>" );
- }
- elseif ($_REQUEST["select1"] == 1) {
- print("<SELECT NAME =\"voiture\">" ); //indication du nom de la variable qui sera envoyée
- for($i=0;$i<sizeof($peugeot);$i++)
- {
- print("<OPTION VALUE = ".$peugeot[$i]."> ".$peugeot[$i]);
- }
- print("</SELECT>" );
- }
- elseif ($_REQUEST["select1"] == 2) {
- print("<SELECT NAME =\"voiture\">" ); //indication du nom de la variable qui sera envoyée
- for($i=0;$i<sizeof($citroen);$i++)
- {
- print("<OPTION VALUE = ".$citroen[$i]."> ".$citroen[$i]);
- }
- print("</SELECT>" );
- }
- ?>
|