Partage
  • Partager sur Facebook
  • Partager sur Twitter

Afficher/cacher des sections dans un formulaire

Sujet résolu
    8 janvier 2018 à 18:13:02

    Bonsoir à tous, 

    Je débute totalement en JS et JQuery, j'en suis à mon premier projet donc j'ai un peu de mal. Etant donné que je voudrais prendre des bonnes habitudes tout de suite, je préfère demander confirmation pour savoir ce que je fais est bon. 

    J'ai des sections d'un formulaire (dans mon exemple c'est un 

    <li id="selection _referent">


    qui ne doit s'afficher que lorsque la valeur d'un bouton radio est sur "oui". 

    Il doit donc être par défaut caché. J'ai donc fait cela avec le code suivant :

    $(document).ready(function(){
    	
    	$('.hiddenDefault').css('display', 'none');
    	
    	$('input:radio[name=referent_only]').change(function() {
    		
    		if (this.value == 'oui') {
    		  $('#selection_genre').slideUp();
    		} 
    		else if (this.value == 'non') {
    		  $('#selection_genre').slideDown();
    		}
    		
    	});
    
        
    });

    et le HTML concerné :

        	<div>
            	<table class="structure radio">
                <tr>
                	<td><label for="referent_only_oui">Oui : </label></td><td><input type="radio" name="referent_only" value="oui" id="referent_only_oui" checked="checked" /></td>
                </tr>
                <tr>
                	<td><label for="referent_only_non">Non : </label></td><td><input type="radio" name="referent_only" value="non" id="referent_only_non" /></td>
                </tr>
               	</table>
            </div>
    
        <li id="selection_genre" class="hiddenDefault">
    
    Blablabla
       </li>
    

    Est ce que c'est la bonne façon de cacher mon élément au chargement de la page, car le JS ne va exécuter que lorsque la page sera chargée, donc est ce qu'il y a un risque que le li s'affiche puis se cache ensuite ? 

    J'espère que la question est claire, 

    Merci :)

    Bonne soirée tous


    • Partager sur Facebook
    • Partager sur Twitter
      8 janvier 2018 à 20:54:39

      Au niveau HTML: Les tableaux pour la mise en page c'est TOTALEMENT OBSOLÈTE! D'autant plus que tu le remet dans une div?

      Au niveau JS:

      1) La fonction (ou méthode) pour cacher/montrer

      $('.hiddenDefault').css('display', 'none');

      existe de manière plus simple:

      $('.hiddenDefault').hide();
      //Et son opposé:
      $('.hiddenDefault').show();

       D'autres techniques plus évoluées existent mais celle-ci semble la plus adaptée dans ton cas

      -
      Edité par Nathan CHEVALIER 11 janvier 2018 à 13:25:40

      • Partager sur Facebook
      • Partager sur Twitter
        10 janvier 2018 à 18:40:12

        Bonsoir Nathan, 

        Merci pour ta réponse. J'ai supprimé des élément dans mon div, il n'y a pas que le tableau dedans. C'est vrai que c'est obsolète, je vais essayer de changer tout cela. 

        Pour le JS, merci c'est en effet plus facile !

        • Partager sur Facebook
        • Partager sur Twitter

        Afficher/cacher des sections dans 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