Partage
  • Partager sur Facebook
  • Partager sur Twitter

Probleme avec onchange.

liste deroulante et fonction onchange

Sujet résolu
    7 juillet 2009 à 15:08:29

    Bonjour.

    Voila je vient vous voir car la je suis complètement bloqué .
    En gros mon probleme : (pour vue que je sois claire !!)

    J'ai une liste déroulante qui contient plusieurs champs est je voulais que quand une personne choisisse un champs différent du premier il y est un cadre qui apparaisse en dessous avec dedans un input pour entré le le nom et le prénom de la personne qui va pratiqué l'activité (la liste déroulante contient une liste d'activité disponible (c'est un site pour une assoc de quartier))
    Pour le moment tous ce que je vous dite marche nikel mais le probleme ses quand je veut édité la fiche du menbre meme si mon champ est différent du premier champs il ne m'affiche pas le cadre avec le input. surement car le onload ne s'exécute que lorsque on change le champs du formulaire .
    J'ai pensais utiliser l'evenement onLoad mais je n'aime pas trop m'en servir car c'est les gens on du bat debit ou alors que une image mettre trop de temps a charger sa pourrait mettre le bazar .Donc si vous avez d'autre solution je suis preneur .

    Enfin on dit que du code vaut mieux que un long texte donc le voila :

    ma fonction JS :

    function showIdentite(emplacement , valeur){
    	if(valeur==0){
    		var obj = document.getElementById("identite" + emplacement);
    		obj.style.display='none';
    		}
    	else {
    	var obj = document.getElementById("identite" + emplacement);
    		obj.style. display='';
    	}	
    }
    

    Et l'appelle de ma fonction:

    <select name="activite" onchange="showIdentite(1 , this.options[this.selectedIndex].value)" >
    


    Et le cadre des input :

    <tr id="identite1" style="display:none;"><td align="right">Nom :</td> <td><input type="text"name="nom" value="<?php echo $nom; ?>" ></textarea> </td>
    			<td align="right"><p>Nom :</td> <td><input type="text"name="nom" value="<?php echo $nom; ?>" ></textarea><a> </td>
    			</tr>
    


    Merci d'avance pour votre aide et j'espere avoir été suffisamment claire .
    • Partager sur Facebook
    • Partager sur Twitter
      7 juillet 2009 à 15:20:49

      function s'écrit avec un "f" minscule.
      • Partager sur Facebook
      • Partager sur Twitter
        7 juillet 2009 à 15:22:59

        Oui car quand j'ai fais mon copier coller j'avais oublie de prendre le f donc je les rajouté a la main et j'ai mit une maj.

        PS : c'est corriger
        • Partager sur Facebook
        • Partager sur Twitter
          7 juillet 2009 à 15:31:43

          Tu peux supprimer une ligne inutile dans le js et tu avais oublié le inline.
          function showIdentite(emplacement , valeur){
          	var obj = document.getElementById("identite" + emplacement);	
          	if(valeur==0){
          		obj.style.display='none';
          		}
          	else {
          		obj.style. display='inline';
          	}	
          }
          


          Puis lors de l'appel de la fonction, je crois que tu inverse les deux arguments.
          <select name="activite" onchange="showIdentite(this.options[this.selectedIndex].value, 1)" >
          


          Voila.
          • Partager sur Facebook
          • Partager sur Twitter
            7 juillet 2009 à 15:37:22

            Merci de ta réponse

            Heu non je n'inverse pas les deux élément , et le inline n'est pas nécessaire enfin ma question c'est : Quand je veut edité la fiche de l'utilisateur . je veut que si l'utilisateur a deja une activité alors qu'il afficher les champs noms .mais que si il n'est rien il reste caché car pour l'instant quand je veut modifier la fiche d'un utilisateur les input nom reste tout le temps caché que l'utilisateur et une activité ou pas ...
            • Partager sur Facebook
            • Partager sur Twitter
              7 juillet 2009 à 22:30:33

              tu veux dire que tu veut que le input nom s'affiche même si il y a deja une activité d'entré sans le onchange?
              • Partager sur Facebook
              • Partager sur Twitter
                7 juillet 2009 à 22:48:13

                probleme résolu au lieu de définir la valeur 0 j'avais mit des guillemet vide

                Desoler du dérangement

                Merci a tous pour votre aide
                • Partager sur Facebook
                • Partager sur Twitter
                  7 juillet 2009 à 23:52:04

                  N'oublie pas d'indiquer que le problème est résolu ;)
                  • Partager sur Facebook
                  • Partager sur Twitter

                  Probleme avec onchange.

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown