Probleme traitement de donnée d'un formulaire recuperer en ajax

Signaler
Messages postés
1
Date d'inscription
samedi 6 décembre 2003
Statut
Membre
Dernière intervention
21 mai 2007
-
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
-
Bonjour j'ai un soucis je n'arrive pas a recuperer les values des select et input text remplit a l'aide d'ajax pour traiter un formualire.

J'ai une liste de sous-theme generer a partir du theme general selectionné et la cote est generer a partir du code de la sous categorie.

Mais lorsque je veux recuperer ma valeur par post : $_post["cote"] et $_post["sst"] sont vide

Voici le code :
Formulaire.php

<form name="ajout_ouvr" id="empr_ouvr" method="POST" action="traitement.php?type=test">
<select name='theme' id='theme' onChange='change_sstheme()'>
                    <option value=''>Aucun</option>
                    <?php
                        $enum = new Enumeration();
                        $res = $enum->tesThemes();
                        while($row = mysql_fetch_assoc($res)){?>
                            <option value="<?php echo $enum->non_accent($row['theme']);?>"><?php echo $enum->accent($row['theme']);?></option>
                        <?php }
                    ?>
                </select>
   Sous-Th&egrave;me principal :

                <select name="sst" id="sst" onChange="change_cote()">
                    <option value=''>Choisir un th&egrave;me</option>
                </select>
               

            Cote :

               

ajax.js :

function getXhr(){
                var xhr = null;
                if(window.XMLHttpRequest){ // Firefox et autres
                   xhr = new XMLHttpRequest();
                  
                }
                else if(window.ActiveXObject){ // Internet Explorer
                   try {
                            xhr = new ActiveXObject("Msxml2.XMLHTTP");
                        } catch (e) {
                            xhr = new ActiveXObject("Microsoft.XMLHTTP");
                        }
                }
                else { // XMLHttpRequest non supporté par le navigateur
                   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
                   xhr = false;
                }
                            return xhr;
            }
           
            function change_sstheme(){
               
                var xhr = getXhr();
                   
                // On défini ce qu'on va faire quand on aura la réponse
                xhr.onreadystatechange = function(){
                   
                    // On ne fait quelque chose que si on a tout reçu et que le serveur est ok                    if(xhr.readyState 4 && xhr.status 200){
                        di = document.getElementById('sous_theme');
                        di.innerHTML = xhr.responseText;
                    }
                }

                // Ici on va voir comment faire du post
                xhr.open("POST","ajaxsstheme.php",true);
                // ne pas oublier ça pour le post
                xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
                // ne pas oublier de poster les arguments
                // ici, l'id du theme
                theme = document.getElementById('theme').options[document.getElementById('theme').selectedIndex].value;
                //alert(idtheme);
                xhr.send("theme="+theme);
               
               
            }
           
function change_cote(){
               
                var xhr = getXhr();
                   
                // On défini ce qu'on va faire quand on aura la réponse
                xhr.onreadystatechange = function(){
                   
                    // On ne fait quelque chose que si on a tout reçu et que le serveur est ok                    if(xhr.readyState 4 && xhr.status 200){
                        di = document.getElementById('c');
                        di.innerHTML = xhr.responseText;
                    }
                }

                // Ici on va voir comment faire du post
                xhr.open("POST","ajaxcote.php",true);
                // ne pas oublier ça pour le post
                xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
                // ne pas oublier de poster les arguments
                // ici, l'id de l'auteur
                soustheme = document.getElementById('sst').options[document.getElementById('sst').selectedIndex].value;
               
                //alert(idsoustheme);
                xhr.send("sousTheme="+soustheme);
                               
            }
           
ajaxcote.php :
<?php
    include ("../class/Enumeration.class.php");
    if($_REQUEST["sousTheme"] != ''){
        $enum = new Enumeration();
        $res = $enum->taCoteAjax($_REQUEST["sousTheme"]);
        while($row = mysql_fetch_assoc($res))
        {?>
           
           

                "/>
               

    <?php }
    }
    else{
    ?>
       

               
       

    <?php } ?>

ajaxsoustheme.php:

<script type="text/javascript" src="<?php echo $server_dir;?>commun/ajax.js"></script>

<?php
    include ("../class/Enumeration.class.php");?>
   

                <select name="sst" id="sst" onChange="change_cote()">
    <?php
    if($_REQUEST["theme"] != ''){
        $enum = new Enumeration();
        $res = $enum->tesSousThemesAjax($_REQUEST["theme"]);
        while($row = mysql_fetch_assoc($res)){?>
            <option value='<?php echo $enum->non_accent($row["sous_theme"]);?>'><?php echo $enum->accent($row['sous_theme']);?></option>
        <?php }
    }
    else {?>
        <option value=''>Choisir un th&egrave;me</option>
        <?php }?>
    </select>
               

Si quelqu'un voit le probleme...

hey[:o)]

1 réponse

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
Bonjour,
    je n'ai vu nulle part qu'on transmettait cote ou sst en post.
    sousTheme,theme oui.        mal lirais-je ?
<hr />


Cordialement            Bul