IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

Sélection d'une ville à partir d'un code postal


Sujet :

AJAX

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    410
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 410
    Points : 90
    Points
    90
    Par défaut Sélection d'une ville à partir d'un code postal
    Bonjour,

    J'ai un souci sur mon projet à caractère humanitaire.
    J'ai actuellement un champ CODE POSTAL et un champ VILLE, je saisis le code postal çà affiche une liste des villes correspondant à ce code postal.

    Le souci c'est que j'ai des personnes qui ne sélectionne pas la ville dans la liste et du coup çà ne marche pas...

    Actuellement la sélection va stocker dans un champ de type hidden l'identifiant de la ville dans la base de données.
    Je me demande si il ne faudrait pas déjà un seul champ pour le code postal et la ville, je vous mets le lien vous pourrez ainsi me dire de quelle manière celà devrait être fait.

    Voici le lien : http://www.1clic1don.fr/inscription.php

    Je suis sûr qu'il doit y avoir des personnes qui ont déjà fait celà pour leur projet
    Merci par avance

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    change peut être d'approche en remplaçant l'<input> ville par un <select> que tu mets à jour en fonction du code postal saisie.

  3. #3
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    410
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 410
    Points : 90
    Points
    90
    Par défaut
    Pas bête du tout çà. Merci
    çà risque par contre d'être un poil plus compliqué

  4. #4
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    410
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 410
    Points : 90
    Points
    90
    Par défaut
    Voici mon code ajax actuel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    	<script type="text/javascript">
    var cache = {};
    $(function ()
    {
    	$("#cp").autocomplete({
    		source: function (request, response)
    		{
    			//Si la réponse est dans le cache
    			if (('FR' + '-' + request.term) in cache)
    			{
    				response($.map(cache['FR' + '-' + request.term], function (item)
    				{
     
    					return {
    						label: item.CodePostal + " " + item.Ville,
    						value: function ()
    						{
    							//if ($(this).attr('id') == 'cp')
    							//{
    								$('#ville').val(item.Ville);
    								return item.CodePostal;
    							//}
    							//else
    							//{
    							//	$('#cp').val(item.CodePostal);
    							//	return item.Ville;
    							//}
    						}
    					}
    				}));
    			}
    			//Sinon -> Requete Ajax
    			else
    			{
    				var objData = {};
    				//if ($(this.element).attr('id') == 'cp')
    				//{
    					objData = { codePostal: request.term, pays: 'FR', maxRows: 10 };
    				//}
    				//else
    				//{
    				//	objData = { ville: request.term, pays: 'FR', maxRows: 10 };
    				//}
    				$.ajax({
    					url: "./getville.php",
    					dataType: "json",
    					data: objData,
    					type: 'POST',
    					success: function (data)
    					{
    						//Ajout de reponse dans le cache
    						cache[('FR' + '-' + request.term)] = data;
    						//nombre de résultats retournés (length)
    						var nbrep = data.length;
    						response($.map(data, function (item)
    						{
    							return {
    								label: item.CodePostal + " " + item.Ville,
    								value: function ()
    								{
    									//if ($(this).attr('id') == 'cp')
    									//{
    										$('#ville').val(item.Ville);
    										$('#idville').val(item.Id);
    										return item.CodePostal;
    									//}
    									//else
    									//{
    									//	$('#cp').val(item.CodePostal);
    									//	$('#idville').val(item.Id);
    									//	return item.Ville;
    									//}
    								}
    							}
    						}));
    					}
    				});
    			}
    		},
    		minLength: 3,
    		delay: 600
    	});
    });
    </script>
    Mais je maitrise pas trop ajax, je ne comprends pas trop le cache, le return et comment ajax fonctionne pour faire une boucle sur toutes les villes. Data renvoie un code postal et une ville en fonction du code postal saisi. Avec ce code je vais avoir beaucoup de choses à changer pour ne plus remplir une zone de texte ville mais un select ville et aussi ne plus afficher les propositions en déroulants ce qui semble être fait par le label. Toute aide sera appréciée, ce projet est réalisé pour aider des associations humanitaires et leur apporter de nouvelles ressources financières. Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Google Maps] Afficher une carte à partir d'un code postal
    Par gohanfaye dans le forum APIs Google
    Réponses: 5
    Dernier message: 21/06/2011, 20h13
  2. executer une appli à partir d'un code C?
    Par alexglvr dans le forum Débuter
    Réponses: 3
    Dernier message: 24/01/2009, 11h56
  3. Trouver le nom d'une ville à partir de la Longitude et latiude
    Par gpsevasion dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 01/07/2008, 16h58
  4. Sélection d'une image à partir du fenetre Ouvrir
    Par firewall dans le forum Interfaces Graphiques
    Réponses: 3
    Dernier message: 17/11/2007, 11h57
  5. Création d'une image à partir de son code binaire
    Par thefaycal dans le forum ASP
    Réponses: 11
    Dernier message: 18/05/2006, 17h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo