Partage
  • Partager sur Facebook
  • Partager sur Twitter

Validation formulaire sans bouton submit

Sujet résolu
    31 octobre 2010 à 14:47:54

    Bonjour,

    J'ai un formulaire à liste déroulante (pour trier une liste de livres) :

    <form action ="liste.php" method = "get">
    <p>
    <SELECT name="tri"class="tri_bandeau">
    
    		
    		
    	<option value="titre"<?php if (isset($_GET['tri']) && $_GET['tri'] == "titre" ) {echo 'selected="selected"';} ?>>TITRE</option><!-- PERMET DE GARDER AFFICHAGE OPTION TRI -->
    
    	<option value="date_publication<?php if (isset($_GET['tri']) && $_GET['tri'] == "date_publication" ) {echo 'selected="selected"';} ?>">DATE PUBLICATION</option>
    
    	<option value="date_achat"<?php if (isset($_GET['tri']) && $_GET['tri'] == "date_achat" ) {echo 'selected="selected"';} ?>>DATE ACHAT</option>
    		
    	<option value="date_lecture"<?php if (isset($_GET['tri']) && $_GET['tri'] == "date_lecture" ) {echo 'selected="selected"';} ?>>DATE_LECTURE</option>
    
    		
    		<input type="radio" class="radio_tri_asc" name="senstri" value="ASC" id="ASC" checked="checked"  /> <label for="ASC" class="label_tri_asc">ASC</label>
    		<input type="radio" class="radio_tri_desc" name="senstri" value="DESC" id="DESC" <?php if (isset($_GET['senstri']) && $_GET['senstri'] == "DESC" ) {echo 'checked="checked"';} ?> /> <label for="DESC" class="label_tri_desc">DESC</label>
    		<label for="trier_par"class="trier_par">Trier les résultats par</label>
    		
    </SELECT>
    
    	<input type="submit" value="Trier"/>
    <p/>
    <form/>
    


    Ce formulaire fonctionne : après avoir cliqué sur le bouton submit, le tri se fait bien. Mais ce que je souhaiterais obtenir avec javascript, c'est la même chose mais sans avoir à cliquer sur un bouton submit. Le fait de sélectionner une option dans le formulaire devrait pouvoir déclencher directement le tri. Ne connaissant pas javascript, pouvez-vous m'aider à obtenir l'effet souhaité ? Merci.
    • Partager sur Facebook
    • Partager sur Twitter
      3 novembre 2010 à 22:21:25

      Bonjour,

      Quelques ajustements du code HTML avant de commencer :
      -ajoutes un paramètre id au formulaire, ce sera utile pour la suite (id="monFormulaire")
      -plutôt qu'utiliser un paragraphe (balise p) dans le formulaire, utilises une balise fieldset, c'est, comment dire ? ... sémantique
      -les balises SELECT SE SENTIRONT MIEUX EN MINUSCULES (si si je leur ai demandé)
      -les balises select ne peuvent contenir QUE des balises optgroup et option, donc il faut virer les labels et inputs ailleurs, dans un second fieldset, par exemple.

      Ceci étant fait, voici comment tu peux envoyer un formulaire au changement d'un champ :
      <select name="tri" class="tri_bandeau" onchange="document.getElementById('monFormulaire').submit();">
           <option>xxx</option>
           ...
      </select>
      
      • Partager sur Facebook
      • Partager sur Twitter
        4 novembre 2010 à 21:47:11

        Merci beaucoup pour ta réponse aussi instructive qu'efficace ;)
        • Partager sur Facebook
        • Partager sur Twitter

        Validation formulaire sans bouton submit

        × 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