begin process at 2012 05 30 04:49:33
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

CSS

 > 

Général

 > 

Souci pour imputer les valeurs de résultats de recherche dans deux champs input


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Souci pour imputer les valeurs de résultats de recherche dans deux champs input

mercredi 5 novembre 2008 à 16:13:30 | Souci pour imputer les valeurs de résultats de recherche dans deux champs input

mountainmagazin

Salut à tous,

J'ai vraiment besoin d'un coup de main parce que je me prends la tête sur une fonction depuis de longues heures, que c'est surement tout con, et que je ne trouve pas la réponse qui est probablement sous mon nez.

Vous pouvez tester mon script à cette adresse :
-https://www.guide-camping-france.fr/espace-pro/index.php

Passez l'alerte du certificat, c'est normal, je dev sur un serveur en HTTPS et je n'ai pas encore pris le certificat.

En fait, le script comme vous pouvez le voir récupère le nom des villes via ajax, avec la recherche effectuée à partir des codes postaux saisis.
Tout fonctionne parfaitement, sauf un petit souci : si vous tapez un code postal partiel, une liste de ville s'affiche.
- Lorsque vous choisissez un code postal en cliquant dessus, il file dans le input du code postal
- Lorsque vous choisissez une ville en cliquant dessus, elle file dans le input de la ville

L'affichage des résultats est géré, sa disparition au click aussi, et la fonction de tri des résultats également.

Je n'arrive par contre pas à faire en sorte que lorsqu'on clique sur un résultat, que ce soit une ville ou un code postal, on remplisse et mette à jour les 2 champs input, avec le code postal dans le champ du code et la ville dans le champ de la ville.
Je sais pas si je suis clair ???

En fait, il est problématique de ne pas pouvoir ajouter les deux en même temps, parce que si un internaute choisi sa ville dans les résultats après avoir tapé un code postal partiel, le champ code postal n'est pas mis à jour (il reste partiel), et il aura une erreur de format de code postal lors de la validation du formulaire.

Les résultats, après l'envoi en ajax,  se présentent dans mon code sous la forme suivante :
<?php
$this -> sResult .= '<div style="border: 1px solid #000000; width: 300px;'.$sColor.'">

<span id="codepost" onclick="document.getElementById(\'code_postal\').value = this.innerHTML; hide(\'divContent\');" style="cursor: pointer; padding-left: 10px; margin: 5px 35px 5px 5px;'.$sColor.'">'.$cp.'</span>

<span id="vil" onclick="document.getElementById(\'ville\').value = this.innerHTML; hide(\'divContent\');" style="cursor: pointer; margin: 5px;'.$sColor.'">' . ucwords ( $aTmpVilles[$clef] ) . '</span>

</div>';
?>

on a un div, sans lequel se trouvent 2 span, avec respectivement l'affichage des code postaux dans le premier, et des villes dans le second (je précise que ce code se trouve dans une boucle foreach)
onclick="document.getElementById(\'code_postal\').value = this.innerHTML; me renvoi bien la valeur du code postal dans l'input code_postal lorsque l'on clique dessus

onclick="document.getElementById(\'ville\').value = this.innerHTML; me renvoi bien la valeur de la ville dans l'input ville lorsque l'on clique dessus

Je voudrais tout simplement renvoyer les deux dans leurs input respectifs lorsque l'on clique sur l'un ou l'autre, tout simplement, ce que je n'arrive pas à faire...

Si vous avez une soluce, je suis preneur...
Merci de votre aide.
mercredi 5 novembre 2008 à 16:21:02 | Re : Souci pour imputer les valeurs de résultats de recherche dans deux champs input

bultez

Membre Club
bonjour,
loin d'avoir tout compris....





onclick="document.getElementById('code_postal').value = this.innerHTML;
            document.getElementById('ville').value=document.getElementById('vil').innerHTML;"
           

onclick="document.getElementById('ville').value = this.innerHTML;
            document.getElementById('code_postal').value=document.getElementById('codepost').innerHTML;"

ça suffit pas ?

Cordialement

          Bul [mon Site] [M'écrire]         

mercredi 5 novembre 2008 à 18:03:39 | Re : Souci pour imputer les valeurs de résultats de recherche dans deux champs input

mountainmagazin

Salut, tu as très bien compris, je te remercie. J'avais essayé cette méthode sans succès, j'avais du faire une faute de frappe parce que ça fonctionne. Toutefois, il y a un souci, parce que dans la liste des résultats, lorsque l'on clique sur une ville, on a la bonne ville, si on clique sur le code postal, on a le bon code postal, on a bien une double saisie du résultat dans les 2 champs, mais il y a une erreur sur la deuxième valeur. Faites un essai : https://www.guide-camping-france.fr/espace-pro/index.php Si vous tapez dans le champ code postal 015, vous obtenez la liste des villes à partir des codes postaux qui commencent pas ces trois chiffres. Dans la liste des résultats, si vous cliquez sur la septième réponse (Armix, la première ville qui a un code postal différent de la première réponse), alors vous voyez que le code postal inséré est celui de la première ligne de réponse, et qu'il ne correspond pas à la ville sélectionnées. L'inverse est vrai aussi. Si vous cliquez sur un code postal différent de la première réponse, la ville insérée dans le champ ville est la première réponse. Est ce que c'est plus clair ? onclick="document.getElementById('code_postal').value = this.innerHTML; récupère et insère bien le bon code postal SI ET SEULEMENT SI on clique sur un code postal En revanche document.getElementById('ville').value=document.getElementById('vil').innerHTML; ne récupère pas la bonne ville, mais la première de la liste Et inversement si on clique sur une ville. Or pour que le script fonctionne parfaitement et qu'il n'y ai pas d'erreurs, il faut que les deux correspondent, forcément. C'est important d'utiliser ce genre de script, parce que ça permet d'enregistrer dans la BDD des noms de villes formatés, sans accents et sans fautes de frappe pour pouvoir ensuite effectuer facilement des recherches. Merci du coup de main.
mercredi 5 novembre 2008 à 18:18:14 | Re : Souci pour imputer les valeurs de résultats de recherche dans deux champs input

mountainmagazin

Réponse acceptée !
Je viens de trouver en fait.

J'ai répondu avec chrome avant, désolé, il supporte pas l'éditeur lol

En fait, il suffit de créer un tableau sur l'ID des balises span :: codepost['.$iCpt.']

   foreach ($aTmpCP as $clef => $cp) {
    $sColor = ($iCpt%2 === 0)?'background-color: #cccccc;':'background-color: #ffffff;';
    $this -> sResult .= '<div style="border: 1px solid #000000; width: 300px;'.$sColor.'">

<span id="codepost['.$iCpt.']" onclick="document.getElementById(\'code_postal\').value = this.innerHTML; document.getElementById(\'ville\').value=document.getElementById(\'vil['.$iCpt.']\').innerHTML; hide(\'divContent\');" style="cursor: pointer; padding-left: 10px; margin: 5px 35px 5px 5px;'.$sColor.'">'.$cp.'</span>

<span id="vil['.$iCpt.']" onclick="document.getElementById(\'ville\').value = this.innerHTML; document.getElementById(\'code_postal\').value=document.getElementById(\'codepost['.$iCpt.']\').innerHTML; hide(\'divContent\');" style="cursor: pointer; margin: 5px;'.$sColor.'">' . ucwords ( $aTmpVilles[$clef] ) . '</span>

</div>';
    $iCpt ++;
   }

Ensuite, on récupère la valeur en fonction de cet ID unique incrémenté à chaque boucle.

Merci bcp de ton aide, je faisais une erreur quelque part que je n'arrivais plus à voir.
Cordialement.
mercredi 5 novembre 2008 à 18:47:44 | Re : Souci pour imputer les valeurs de résultats de recherche dans deux champs input

bultez

Membre Club
ah ben oui... un id doit être unique dans une page
je n'avais pas saisi qu'il pouvait y en avoir plusieurs
          Bul [mon Site] [M'écrire]         

mercredi 5 novembre 2008 à 20:11:06 | Re : Souci pour imputer les valeurs de résultats de recherche dans deux champs input

mountainmagazin

Merci bien de ton aide en tout cas, ça m'a aidé, parce que j'avais essayé ce que tu m'as dit, avec une erreur sans m'en rendre compte, et du coup j'avais laissé tombé. +A+


Cette discussion est classée dans : résultats, input, code, ville, postal


Répondre à ce message

Sujets en rapport avec ce message

afficher la ville en fonction du code postal [ par deneb92 ] bonjour tout le monde! j'ai cherché pas mal de temps une aide qui me convienne mais je ne trouve pas. Je commence à etre perdue. j'ai trouvé pas mal Appliquer un style uniforme à chaque champs de formulaire [ par ofillion ] Bonjour, Je suis vraiment dummy en JS et voici ce que j'aimerais arriver à faire. C'est probablement très simple pour vous. Je voudrais qu'au charg enabled/desable ComboBox en cascade [ par astn ] Bonjour à tous! Je cherche à réaliser la chose suivante pour optimiser la saisie CP + Ville dans un formulaire : 1 - Une ComboBox (Mère) pour le code afficher une liste déroulante en cliquant sur un input [ par lsamsoumal ] Bonjour tout le monde je suis débutante en javascript et je cherche depuis le début de la journée à résoudre mon problème sans résultat!! En fait je d Probleme de suppression avec un input type [ par mageek06 ] Bonjour, j'ai ce code la : [code=js] <!-- function ajouter() { var input = document.getElementById('texte'); // on place dan Javascript insertion dynamique d'input - prb [ par tannana86 ] Bonjour, Après des multiple essais infructueux, je m'adresse à vous chères âmes charitables !! Mon objectif étant de : pouvoir créer et supprimer d Remplacer du text existant à la volée [ par FlaviusVII ] Bonjour, J'ai besoin de transformer un chaine de texte par le contenu d'un input et ce lettre par lettre. Pour être plus clair, voici mon code : [ Proposer un tri croissant ou décroissant sur des résultats de recherche [ par dElwinn ] Bonjour, Mon objectif est résumé dans le titre : je dois permettre à l'internaute de classer par prix croissant et décroissant le résultats de ses re Input Text et saisie semie automatique [ par fcot2002 ] Bonjour, je cherche une solution à une question concernant Input text. j'ai cherché, trouvé des posts, mais rien trouvé répondant à ma problématique affichage ville dans un select quand le cp est saisi [ par druhill33 ] Bonjour Voici mon problème, j'utilise un script qui affiche dans un select la ville quand le code postal est saisi. Le script marche très bien sous


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,562 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales