Récupérer valeur d'un select ajax
Daniel Delaplace
Messages postés
2
Statut
Membre
-
Zep3k!GnO Messages postés 2049 Statut Membre -
Zep3k!GnO Messages postés 2049 Statut Membre -
Bonjour,
je cherche à récupérer la valeur d'un <span> généré en ajax afin de l'intégrer dans ma base de donnée SQL. Il s'agit simplement d'une saisie d'un code postal, qui affiche un <select> avec un choix de ville (si pluralité). j'arrive à extraire une liste, "VilleVilleVille, mais pas la ville sélectionnée. Récompense promise... (j'ai 12 cousines) LOL
Blagues à part j'ai vraiment besoin d'aide, et étant imprimeur, je peut vous récompenser à juste valeur.
je cherche à récupérer la valeur d'un <span> généré en ajax afin de l'intégrer dans ma base de donnée SQL. Il s'agit simplement d'une saisie d'un code postal, qui affiche un <select> avec un choix de ville (si pluralité). j'arrive à extraire une liste, "VilleVilleVille, mais pas la ville sélectionnée. Récompense promise... (j'ai 12 cousines) LOL
Blagues à part j'ai vraiment besoin d'aide, et étant imprimeur, je peut vous récompenser à juste valeur.
A voir également:
- Récupérer valeur d'un select ajax
- Comment recuperer un message supprimé sur whatsapp - Guide
- Comment récupérer un compte facebook piraté - Guide
- Récupérer mon compte facebook désactivé - Guide
- Comment recuperer une video sur youtube - Guide
- Comment récupérer un document dans le presse-papier samsung - Guide
5 réponses
Bonjour,
mon span et un id et voici le source
Page principale ==> ville.php
<?
$host="local host";
$login="utilisateur";
$password="mp";
$base="base";
mysql_connect($host,$login,$password) or die(mysql_error());
mysql_select_db($base);
//---- Fonction permettant de mettre tout en majuscule (y compris les accents)
function toutmajuscule($chaine){
$acc = array('ç','à','á','â','è','é','ê','ò','ó','ô','ù','ú','û','À','Á','Â','È','É','Ê','Ì','Í','Î','Ò','Ó','Ô','Ù','Ú','Û');
$sans = array('C','A','A','A','E','E','E','O','O','O','U','U','U','A','A','A','E','E','E','I','I','I','O','O','O','U','U','U');
$mot = str_replace($acc,$sans,$chaine);
return strtoupper($mot);
}
?>
<script type="text/javascript" src="http://www.petites.annonces.ici-ville.fr/js/swfobject.js"></script>
<script type="text/javascript" src="http://www.petites.annonces.ici-ville.fr/js/jquery-1.2.6.min.js"></script>
<script language="javascript" src="http://www.petites.annonces.ici-ville.fr/villes.js">
</script>
<script type="text/javascript">
function recup(){
var indexsite = document.getElementById('ville')
var region = indexsite.options[indexsite.selectedIndex].value
alert (region);
}
</script>
Code postal : <input type="text" size="5" length="5" maxlength="5" name="cp" value="" onKeyUp="afficheVille(this.size, this.value)"/>
<span id="listeville"></span>
<label>Ville ou code postal</label>
<input id="ville" type="hidden" name="ville" value="region"/>
<!-- dans cet input je voudrai retrouver la ville choisie dans le sélect -->
les js sont récupérables en cliquant sur les lien en mode "code source de la page"
et le source du fichier ajax_ville.php appelé par le ville.js
<?
$host="localhost";
$login="utilisateur";
$password="mp";
$base="base";
mysql_connect($host,$login,$password) or die(mysql_error());
mysql_select_db($base);
switch($_POST['action']) {
case 'affVille':
afficheVille();
break;
}
function afficheVille() {
$aff_ville = '<select name="ville" id="ville" onclick="recup()">';
$selville = mysql_query("SELECT nom FROM maps_ville WHERE cp='".$_POST['codepostal']."' ");
while($ville=mysql_fetch_array($selville)) {
$accent = "àáâãäåòóôõöøèéêëçìíîïùúûü";
$sansaccent = "ÀÁÂÃÄÅÒÓÔÕÖØÈÉÊËÇÌÍÎÏÙÚÛÜ";
$ville = strtr(utf8_encode($ville['nom']),$accent,$sansaccent);
$aff_ville .= '<option value="'.$ville.'" >'.strtoupper($ville).'</option>';
}
$aff_ville .= '</select>';
?>document.getElementById('listeville').innerHTML='<?=$aff_ville?>';<?
}
?>
--------------------------------------------------------------------------------------------------
je pense que tout y est, sinon daniel.delaplace@live.fr
donc, ce qui m'intéresse, c'est dans un premier temps de récupérer la ville choisie dans un input hiden (ou mieux un input text pour afficher un contrôle utilisateur) et éventuellement de récupérer les autres champs de la table SQL longitude et latitude pour de la géolocalisation.
Je fais 36 choses à la fois et je ne pige rien à javascript, n'ayant pas le temps de faire les bases. Mon deal tient toujours, (sauf pour les cousines...).
Amicalement,
mon span et un id et voici le source
Page principale ==> ville.php
<?
$host="local host";
$login="utilisateur";
$password="mp";
$base="base";
mysql_connect($host,$login,$password) or die(mysql_error());
mysql_select_db($base);
//---- Fonction permettant de mettre tout en majuscule (y compris les accents)
function toutmajuscule($chaine){
$acc = array('ç','à','á','â','è','é','ê','ò','ó','ô','ù','ú','û','À','Á','Â','È','É','Ê','Ì','Í','Î','Ò','Ó','Ô','Ù','Ú','Û');
$sans = array('C','A','A','A','E','E','E','O','O','O','U','U','U','A','A','A','E','E','E','I','I','I','O','O','O','U','U','U');
$mot = str_replace($acc,$sans,$chaine);
return strtoupper($mot);
}
?>
<script type="text/javascript" src="http://www.petites.annonces.ici-ville.fr/js/swfobject.js"></script>
<script type="text/javascript" src="http://www.petites.annonces.ici-ville.fr/js/jquery-1.2.6.min.js"></script>
<script language="javascript" src="http://www.petites.annonces.ici-ville.fr/villes.js">
</script>
<script type="text/javascript">
function recup(){
var indexsite = document.getElementById('ville')
var region = indexsite.options[indexsite.selectedIndex].value
alert (region);
}
</script>
Code postal : <input type="text" size="5" length="5" maxlength="5" name="cp" value="" onKeyUp="afficheVille(this.size, this.value)"/>
<span id="listeville"></span>
<label>Ville ou code postal</label>
<input id="ville" type="hidden" name="ville" value="region"/>
<!-- dans cet input je voudrai retrouver la ville choisie dans le sélect -->
les js sont récupérables en cliquant sur les lien en mode "code source de la page"
et le source du fichier ajax_ville.php appelé par le ville.js
<?
$host="localhost";
$login="utilisateur";
$password="mp";
$base="base";
mysql_connect($host,$login,$password) or die(mysql_error());
mysql_select_db($base);
switch($_POST['action']) {
case 'affVille':
afficheVille();
break;
}
function afficheVille() {
$aff_ville = '<select name="ville" id="ville" onclick="recup()">';
$selville = mysql_query("SELECT nom FROM maps_ville WHERE cp='".$_POST['codepostal']."' ");
while($ville=mysql_fetch_array($selville)) {
$accent = "àáâãäåòóôõöøèéêëçìíîïùúûü";
$sansaccent = "ÀÁÂÃÄÅÒÓÔÕÖØÈÉÊËÇÌÍÎÏÙÚÛÜ";
$ville = strtr(utf8_encode($ville['nom']),$accent,$sansaccent);
$aff_ville .= '<option value="'.$ville.'" >'.strtoupper($ville).'</option>';
}
$aff_ville .= '</select>';
?>document.getElementById('listeville').innerHTML='<?=$aff_ville?>';<?
}
?>
--------------------------------------------------------------------------------------------------
je pense que tout y est, sinon daniel.delaplace@live.fr
donc, ce qui m'intéresse, c'est dans un premier temps de récupérer la ville choisie dans un input hiden (ou mieux un input text pour afficher un contrôle utilisateur) et éventuellement de récupérer les autres champs de la table SQL longitude et latitude pour de la géolocalisation.
Je fais 36 choses à la fois et je ne pige rien à javascript, n'ayant pas le temps de faire les bases. Mon deal tient toujours, (sauf pour les cousines...).
Amicalement,
A ce que je vois en lisant le code,
déjà il y a un premier problème car ton input hidden a comme id="ville" et ton select que tu ajoute en Ajax a un id="ville". Du coup dans ta fonction recup(), il ne doit pas sélectionner le bon élément.
Je te conseille de changer le nom de l'id du select chargé en Ajax en mettant id="ville_selector".
Puis dans ta fonction JS : var indexsite = document.getElementById('ville_selector');
Sinon, une question, je vois que tu utilises Jquery, pourquoi n'utilises-tu pas les selecteur JQuery qui t'affranchissent de la comptabilité cross navigateur, du genre :
$('#ville_selector').val(); // récupère la valeur sélectionnée.
P.S: Pour les cousines, pas de pbs, je venais pas pour ça, mais la blague m'a fait sourire :)
déjà il y a un premier problème car ton input hidden a comme id="ville" et ton select que tu ajoute en Ajax a un id="ville". Du coup dans ta fonction recup(), il ne doit pas sélectionner le bon élément.
Je te conseille de changer le nom de l'id du select chargé en Ajax en mettant id="ville_selector".
Puis dans ta fonction JS : var indexsite = document.getElementById('ville_selector');
Sinon, une question, je vois que tu utilises Jquery, pourquoi n'utilises-tu pas les selecteur JQuery qui t'affranchissent de la comptabilité cross navigateur, du genre :
$('#ville_selector').val(); // récupère la valeur sélectionnée.
P.S: Pour les cousines, pas de pbs, je venais pas pour ça, mais la blague m'a fait sourire :)
Bonjour,
J'ai donc changé l'id du select et dans la fonction, et je récupère bien la valeur avec un alert, mais toujours pas dans mon input afin de pouvoir l'enregistrer dans ma base SQL, j'ai du louper un passage..., je ne comprends pas comment il faut s'y prendre, ce serait sympa de me donner la méthode, car j'ai fait des centaine d'essais pris sur des forums, mais sans résultats.
En ce qui concerne Jquery, je ne connais pas non plus, j'avais vu une syntaxe similaire, mais je n'avais pas non plus trouvé de solution.
Mon problème réside je pense tout simplement à transmettre la var Javascript en $champ PHP.
Merci de ton aide, et en ce qui concerne l'imprimerie, c'est avec plaisir que je suis à ta disposition pour te rendre un service.
En attendant, je retourne sur des forums pour essayer d'avoir plus d'explications et comprendre.
J'ai donc changé l'id du select et dans la fonction, et je récupère bien la valeur avec un alert, mais toujours pas dans mon input afin de pouvoir l'enregistrer dans ma base SQL, j'ai du louper un passage..., je ne comprends pas comment il faut s'y prendre, ce serait sympa de me donner la méthode, car j'ai fait des centaine d'essais pris sur des forums, mais sans résultats.
En ce qui concerne Jquery, je ne connais pas non plus, j'avais vu une syntaxe similaire, mais je n'avais pas non plus trouvé de solution.
Mon problème réside je pense tout simplement à transmettre la var Javascript en $champ PHP.
Merci de ton aide, et en ce qui concerne l'imprimerie, c'est avec plaisir que je suis à ta disposition pour te rendre un service.
En attendant, je retourne sur des forums pour essayer d'avoir plus d'explications et comprendre.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question