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

JavaScript Discussion :

[AJAX] Different formulaire en fonction d'un choix dans une liste


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 37
    Points : 28
    Points
    28
    Par défaut [AJAX] Different formulaire en fonction d'un choix dans une liste
    Bonjour,
    J'aimerai créer un formulaire où, à la base, seul une liste s'affiche et en fonction du choix de la liste, un formulaire specifique s'affiche (le mm formulaire mais avec des changement, liste en plus ou en moins etc...)
    J'ai cherché depuis quelque temps sur le net mais je n'arrive pas à trouver comment faire...
    Si quelqu'un a une idée de comment faire ça, ça serait cool. Merci d'avance, j'espere avoir etait assez precis sur ce que je veux faire, si vous avez des questions hésité pas...

  2. #2
    Membre confirmé
    Homme Profil pro
    Technophile Web
    Inscrit en
    Mai 2007
    Messages
    930
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Technophile Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 930
    Points : 467
    Points
    467
    Par défaut
    ben tu fais du DOM ( )
    en gros Javascript va, à l'action que tu défins toi même, écrire tes formulaire.
    Mais si tu ne nous donne pas plus de précision, je ne crains que nous puissions t'aider

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 37
    Points : 28
    Points
    28
    Par défaut
    Ben j'essaye en ajax mais je trouve pas comment fair, j'arrive bien a fair afficher une liste deroulante en fonction d'une autre mais pour un formulaire entier ca marche pas...

  4. #4
    Membre confirmé
    Homme Profil pro
    Technophile Web
    Inscrit en
    Mai 2007
    Messages
    930
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Technophile Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 930
    Points : 467
    Points
    467
    Par défaut
    le DOM c'est une API proposé par le navigateur
    les fonctions createTextNod(), appendChild(), et createElement()
    sont là pour t'aider à faire ce que tu ve

    mais sans plus de détail, il faudra due tu te débrouille

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 37
    Points : 28
    Points
    28
    Par défaut
    Je veux bien te donner des details, dis moi lesquels ^^
    le truc c'est que je reprends le code que j'ai fais pour les liste dynamique en changeant les balises spam, plutot que de les mettre autour du select, je lai met autour du formulaire.
    Voila le code que j'ai utilisé avec les liste:
    Fonction java :
    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
     
    <script type='text/javascript'>
    	function recherche2(fam)
    	{
    		if(fam!=''){
    			var xhr;
    			if (window.XMLHttpRequest) { 
    				xhr = new XMLHttpRequest();
    			}
    			else if (window.ActiveXObject) 			{
    				xhr = new ActiveXObject("Microsoft.XMLHTTP");
    			}
    			xhr.onreadystatechange = function(){
     
    				if(xhr.readyState == 4){
    					document.getElementById('blockdaffichage2').innerHTML = xhr.responseText;
    				}
    			};
    			xhr.open("GET", "formulaire/requete2.php?entree="+fam+"", true);
    			xhr.send(null);
    		}
    	}
    <script>
    et le form donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <select name="sfam[]" onChange="recherche2(sfam.value);" id="sfam" multiple size='4' >
    <option value="1"> 1 </option>	     
    <option value="2"> 2 </option>	 
    <option value="3"> 3 </option>	   
     </select>
     
    <span id="blockdaffichage2">
    </span>
    requete2.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php
    $entree = $_GET["entree"];
    ?>
    //Traitement de $entree pour remplir le select
    <select name="mot[]" id="mot" multiple size='4' >
    <option value="1"> 1 </option>	     
    <option value="2"> 2 </option>	 
    <option value="3"> 3 </option>	   
    </select>
    (j'ai enleve toutes les requetes sql pour les values, histoire de simplifié le post)

    Et j'aimerai bien utilisé ce code pour afficher les formulaires...

  6. #6
    Membre confirmé
    Homme Profil pro
    Technophile Web
    Inscrit en
    Mai 2007
    Messages
    930
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Technophile Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 930
    Points : 467
    Points
    467
    Par défaut
    Citation Envoyé par Hyuge Voir le message
    Voila le code que j'ai utilisé avec les liste:
    Fonction java :
    faux, ceci est une fonction javascript

    ou le innerHTML c pas beau ça

    c'est bien beau de me donner c code mais dis moi en fonction de quoi tu veux ajouter un fomulaire
    le plus basique que je pourrais te dire c'est un
    script javascript (bien entendu liée à ton HTML)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    window.onload=init;
    function int()
    {
                document.getElementBy('sfam').onchange=traiterLeChangement;
    }
    function traiterLeChangement()
    {
        if(this.selected=="cequejeveux") // this représente ta liste sfam
           {
                      var toto = document.createTextNode('je sais pas ce que tu ve');
    this.appendChild(toto');
              }
    }
    voila une petite manipulation du DOM
    mais si tu me disais à quel évenement que rejouté ....
    je piourrais te guider un peu mieux

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 37
    Points : 28
    Points
    28
    Par défaut
    En fait c'est bon j'ai trouvé la solution,
    il suffit en effet de reutilisé la meme fonction javascript que pour les liste mais danss l'autre apge taper le formulaire voulu en fonction du choix dans la liste.
    ca marche nickel !
    merci quand meme !!

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

Discussions similaires

  1. Affichage en fonction d'un choix dans une liste
    Par xtof13 dans le forum Langage
    Réponses: 1
    Dernier message: 02/12/2009, 15h58
  2. Réponses: 0
    Dernier message: 20/11/2009, 04h10
  3. Réponses: 0
    Dernier message: 09/09/2008, 21h53
  4. Rafraichir un formulaire en fonction d'un choix dans une liste déroulante
    Par talondachil dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 29/01/2008, 23h17
  5. Réponses: 3
    Dernier message: 18/01/2007, 18h19

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