Pb pour de transfert de variable javascript --> PHP [Résolu]

Signaler
Messages postés
52
Date d'inscription
mercredi 27 avril 2005
Statut
Membre
Dernière intervention
5 août 2008
-
Messages postés
214
Date d'inscription
lundi 20 mars 2006
Statut
Membre
Dernière intervention
23 juin 2006
-
Bonjour à tous !!
Voilà j'affiche 2 listes en javascript dont la 2nd se remplit en fonction de la 1ére et je n'arrive pas à transmetre ces 2 valeurs sur la partie PHP de la page ! Ma 1ére version du code (tout en PHP) fonctionnait mais les listes était moins optimisées !
Pourriez vous me donner un ptit coup de mains ?

<script language="JavaScript">
    function verifDepart()
    {
        if (formulaire.depart.value == "0")
        {
             alert('Vous devez tout d\'abord choisir une baie de départ!');
             formulaire.depart.focus();
        }
    }

function remplirArrive(code)
{
    var tab = <?php echo $js; ?>;
        var trouv = false;
        if (code!=0)
        {
             formulaire.arrive.options.length = tab.length-1;
             for (i=0; i<tab.length; i++)
             {
                  if((code!=tab[i])&amp;&amp;!trouv)
                  {
                      formulaire.arrive.options[i].value = tab[i];
                      formulaire.arrive.options[i].text = tab[i];
                   }
                   else
                   {
                        trouv = true;
                        formulaire.arrive.options[i].value = tab[i+1];
                        formulaire.arrive.options[i].text = tab[i+1];
                   }
              }
              document.recherche.arrive.options.selectedIndex = 0;
        }
        else
        {
            formulaire.arrive.options.length = 1;
            formulaire.arrive.options[0].value = 0;
            formulaire.arrive.options[0].text = "-- baie d'arrivée";
        }
    }
</script>
<?php
[...]
    echo'<form name="recherche" action="recher.php">
        <select name="depart" onChange="remplirArrive(this.options[this.selectedIndex].value);">
            <option value="0" selected>-- départ</option>';
            for($i=0;$i<count($list);$i++)
                echo'<option value="'.$list[$i].'">'.$list[$i];
        echo'</select>
        <select name="arrive" onFocus="verifDepart();">
            <option value="0" selected>-- arrivée</option>
        </select>
        </td>
    </tr>
    <tr height=50>
        <td width="30%" align="center">
            non utis&amp;eacute;
            utis&amp;eacute;
        </td>
        <td width="*" align="center"></td>
    </tr>
    </form>

if(isset($_POST['recherche']))
{    
    import_request_variables("P","recu_");    $result mysql_query("SELECT * FROM baie_port WHERE flag"$recu_option"");
                                             [...]


La page se reactualise mais rien ne passe dans le isset !!

5 réponses

Messages postés
52
Date d'inscription
mercredi 27 avril 2005
Statut
Membre
Dernière intervention
5 août 2008

En fait sa marche j'avais juste oublier method=POST !!
Merci quand même
Messages postés
214
Date d'inscription
lundi 20 mars 2006
Statut
Membre
Dernière intervention
23 juin 2006

Salut,
pour remplir une liste en fonction du choix d'une autre, je te conseille d'utiliser le xmlhttprequest.
Tu as de très bons exemples de listes multiples sur ces sites:
http://siddh.developpez.com/articles/ajax/      (rubrique IV.A)
http://robloche.free.fr/javascript/tuto_xhr/tuto_xhr.html      (rubrique 5)
Voila, bonne journée
David
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Messages postés
214
Date d'inscription
lundi 20 mars 2006
Statut
Membre
Dernière intervention
23 juin 2006

Ouais mais c'est plus propre avec le xmlhttprequest, puisque dans ce cas la page ne se recharge même pas... En plus, le snippet de malalam est assez facile à comprendre. Mais bon, tu fais comme tu veux...
Messages postés
214
Date d'inscription
lundi 20 mars 2006
Statut
Membre
Dernière intervention
23 juin 2006

Enfin, quand je dis c'est plus propre, je veux dire c'est plus stylé, parce que de la à dire que la programmation en elle même est propre...