Partage
  • Partager sur Facebook
  • Partager sur Twitter

Changer la valeur d'un formulaire

Sujet résolu
    11 août 2020 à 4:13:04

    Bonsoir ou bonjours tout le monde,

    Je précise que je ne connais absolument rien en Javascript mais en cherchant si je pouvais faire ca en PHP je me suis rendu compte que le Javascript était beaucoup plus adapté.Je vais certainement me faire taper les doigts pour avoir fait ce sujet mais je cherche depuis un bon bout de temps, voici mon problème : dans une partie de mon formulaire je demande l'âge de la personne, et j'aimerais que selon l'âge à entré par la personne cela lui mette les tarifs qui correspondent a son age serait t'il possible de faire ca ?

    Je ne demande pas forcément de code parceque cest contraire aux règles du forum mais juste des petites pistes pour mes recherches car cela fait un très bon bout de temps que je cherche 

    Merci de votre compréhension envers un moi ;) 

    • Partager sur Facebook
    • Partager sur Twitter
      11 août 2020 à 9:31:57

      Bonjour un des cours d'openclassrooms sur le JavaScript peut répondre à ton problème notament le chapitre

      Validez les données saisies par vos utilisateurs

      Sur youtube où ailleurs tu pourrais trouvé une plethore de tuto javascript en tapant les mots clés js form tuto

      youtube - tuto interacting with form [en]

      • Partager sur Facebook
      • Partager sur Twitter

      suggestion de présentation.

        12 août 2020 à 16:03:25

        salut en cherchant un peu et en m'inspirant de la vidéo que tu ma donné ( qui est très intéressante et qui explique très bien merci de me l'avoir fait découvert ) j'ai fait un petit code il marche assez bien mais je n'arrive pas a faire une condition qui fait en sorte que si la tranche d'âge est de 0-18 il affiche quelque chose comment faire pour que selon le choix pris cela affiche quelque chose de spécial
        	<script type="text/javascript">
        	function get_current_option_text(select_id) {
        		var select = document.getElementById(select_id);
        		var options = select.getElementsByTagName('option');
        		return options[select.selectedIndex].text;
        	}
        	function show_current_option_text(select_id, placeholder_id) {
        		var text = get_current_option_text(select_id);
        		var placeholder = document.getElementById(placeholder_id);
        		placeholder.firstChild.nodeValue = text;
        	}
        	var truc = document.getElementById('placeholder')
        	if (e.target.className == '0-18') 
        	{
        		alert('CA MARCHE ');
        	}
        	else
        	{
        		alert('ca marche pas ');
        	}
        	</script>
        <form method="post" action="#">
        	<p>
        		<select name="tranche_age" id="tranche_age">
        			<option value="0-18">0-18</option>
        			<option value="18-26">18-26</option>
        			<option value="26-100"> 26-100</option>
        		
        		</select>
        	</p>
        </form>
        
        <p>
        	Tranche d'age choisie :	<em id="placeholder">inconnu</em>
        	<button type="button" onclick="show_current_option_text('tranche_age', 'placeholder');" >mettre à jour</button>
        </p>

        -
        Edité par testdufour 12 août 2020 à 16:07:08

        • Partager sur Facebook
        • Partager sur Twitter
          12 août 2020 à 19:52:07

          bonjour, la condition de la ligne 13 à un problème la donnéee e


          n'existe pas vue la convention de nomage pour cette donnée et les attributs appelé ( target.className )

          cela doit faire référence à un object Event mais dans ton context tu ne répond pas à un événement.

          Pour faire cela tu dois posé un écouteur de changement sur la liste <select> et lui associé une fonction de rappel ( qui aura en paramètre un un object event ).

          Normalement avec ce code là, en ouvrant ta console ( click droit + examiné l'élement où F12 sous window) onglet console,

          tu aurais du voir une erreur du genre:

          TypeError undefined is not a object

          ReferenceError e is not defined

          avec la ligne et le fichier concerné.

          Pour posé un écouteur d'événement en Javascript tu peut te référé a la méthode addEventListener

          pour illustré:

          // selectionne la list sur la quelle
          // on veut écouté les changement de valeur
          const selectElement = document.getElementById('tranche_age');
          
          
          // pose un écouteur d'événement sur la liste via la méthode
          // addEventListener en lui donnant en paramètre 1 le nom de l'événement
          // à écouté et en paramètre 2 la fonction à éxécuté lorsque l'événement
          // et écouté
          selectElement.addEventListener('change', function( e ) {
          
          	// ici un changement à été écouté sur la liste selectElement
          	// on peut executé un action en réponse à l'événement
              
              // ... </>
          } );

          Le code ci-dessus et une illustration de la gestion des événements en Javascript le code et incomplet, je te laisse l'adapté à tes besoin.

          -
          Edité par SamuelGaborieau3 12 août 2020 à 19:54:53

          • Partager sur Facebook
          • Partager sur Twitter

          suggestion de présentation.

            13 août 2020 à 18:57:36

            voila je viens d'arriver à ce que je voulais je met le code pour ceux que ca aiderait (on sait jamais :)

            merci à toi samuel pour ton aide précieuse et tes bons conseils bon courage et bonne journée a toi : 

            <label>Tranche d'âge
                    <select class="tranche_age" name="tranche_age">
                    <option value="">Selectionner …</option>
                    <option value="0-18">0-18</option>
                    <option value="18-26">18-26</option>
                    <option value="26-100">26-100</option>
                    </select>
                    </label>
            
            <div class="result"></div>
            <script type="text/javascript">
              const selectElement = document.querySelector('.tranche_age');
            
            selectElement.addEventListener('change', (event) => {
              if (event.target.value == "0-18") 
              {
                alert('tu a choisi le 0-18');
              }
              if (event.target.value == "18-26")
              {
                alert('tu as choisi les 18-26');
              }
              if (event.target.value == "26-100") 
              {
                alert('tu as choisi les 26-100');
              }
            });
            
            </script>
            • Partager sur Facebook
            • Partager sur Twitter

            Changer la valeur d'un formulaire

            × 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