Bonjour,
Je cherche de l'aide pour résoudre un problème rencontré dans un formulaire.
- J'ai une base de donnée avec les villes et les code postaux.
- J'ai un formulaire avec une imput pour le code postal et un select pour la ville (pour un choix multiple si plusieurs villes)
Vous l'avez devinés, ce que je veux faire est : lorsque je donne le code postal, le ville ou les villes s'inscrivent dans le select.
Pour cela, trois chose :
1) le formulaire (ici pas de problème)
2) la requette php (tester en dehors dans une page test, elle fonctionne)
3) le javascript (la je suis débutant, je ne connais pas bien)
Le problème, je n'arrive pas a passer ma variable php en javascript en plus j'essaie de comprendre le json ce qui rajoute pas mal de complication.
Donc voici le code :
__________________________________________________javascript
<script type="text/javascript">
// FONCTION POUR RECUPERE LES CODES POSTALES
function recup_ville(){
$('ville').options.length = 0;
if($('code_postal').value != "" && $('code_postal').value.length >= 5){
var req = new Request({
method: 'post',
url: 'http://www.mon_adresse/test.php', //ma requette php test.php
data: {
'cp':$('code_postal').value
},
onSuccess: function(transport){
var data = JSON.decode(transport);
for(elt in data){
thisville = data[elt]['ville'];
var comboBox = new Element('option', {'value': thisville, 'text': thisville});
$('ville').adopt(comboBox);
var comboBox = new Element('option', {'value': 'France', 'text': 'France'});
$('pays').options[1].selected = true;
}
}
}).send();
}
}
</script>
_________________________________________________php(qui est normalement dans le fichier test.php)
<?php
require("cgi-bin/Constant.php");
require("cgi-bin/Connexion.php");
$connexion = Connexion (NOM, PASSE, BASE, SERVEUR);
$query = "SELECT `ville` FROM `cp` WHERE `code_postal` = '".$_POST["code_postal"]."'";
$query .= " ORDER BY `id`";
$result = mysql_query($query, $connexion);
while($r = mysql_fetch_array($result))
echo $transport = '("'.$r["ville"].'");'; // le problème ce trouve ici enfin je pense...
?>
_____________________________________________________formulaire
<form name="form_form" id="form_form" action="http://www.fylgood.net/paya-assurances/test.php" method="post">
<input name="code_postal" type="text" id="code_postal" onkeyup="recup_ville(this)" onblur="recup_ville(this)" onfocus="recup_ville(this)" value="" size="5" maxlength="5" />
<span class="champ_saisie2">
<select name="ville" id="ville">
<option selected="selected"></option>
</select>
<form/>
Merci pour l'aide apporté
Amicalement,
Jantoine