Partage
  • Partager sur Facebook
  • Partager sur Twitter

Reset d'un élément select.

Sujet résolu
    15 décembre 2010 à 19:14:16

    Le this que tu envoies à la fonction reset référence l'élément select, pas son selectedIndex.
    T'es pas loin ;)
    • Partager sur Facebook
    • Partager sur Twitter
      15 décembre 2010 à 19:31:00

      Alors je dirais ceci ?
      <select onchange="insertTag('<position valeur=&quot;' + this.options[this.selectedIndex].value + '&quot;>', '</position>', 'textarea'); reset(this.selectedIndex);">
      				<option value="none" class="selected" selected="selected">Position</option>
      				<option value="gauche">A gauche</option>
      				<option value="centre">Centré</option>
      				<option value="droite">A droite</option>
      			</select>
      
      • Partager sur Facebook
      • Partager sur Twitter
      Développeur web PHP - #Symfony2 - tcardonne.fr
        15 décembre 2010 à 19:43:58

        Non cette partie était bonne.
        C'est la partie JS qui n'était pas au point.
        • Partager sur Facebook
        • Partager sur Twitter
          15 décembre 2010 à 19:57:39

          Donc il faut que je change quoi ?
          • Partager sur Facebook
          • Partager sur Twitter
          Développeur web PHP - #Symfony2 - tcardonne.fr
            15 décembre 2010 à 21:00:16

            Si tu passes this, tu fais comme ça :
            function reset( select ) {
                //do something
            }
            
            • Partager sur Facebook
            • Partager sur Twitter
              16 décembre 2010 à 21:48:27

              Owiii ! Ca marche mais juste que ça me reset tout le formulaire en entier (textarea du contenu et input du titre).

              Help ? :euh:

              PS : Avec tout les "Image utilisateurCette réponse m'a aidé" Tu va te faire nommé Zéroique :D
              • Partager sur Facebook
              • Partager sur Twitter
              Développeur web PHP - #Symfony2 - tcardonne.fr
                16 décembre 2010 à 23:30:26

                T'as mis quoi dans la fonction reset ?
                Reposte le code à chaque fois que je vois l'évolution.
                • Partager sur Facebook
                • Partager sur Twitter
                  17 décembre 2010 à 17:45:27

                  Merci beaucoup pour ton aide que tu me donne ;)

                  JS :
                  function reset(select) {
                  		select.selectedIndex = 0;
                  		};
                  
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Développeur web PHP - #Symfony2 - tcardonne.fr
                    17 décembre 2010 à 20:30:45

                    Chez moi ça marche...
                    <select onchange="insertTag('<position valeur=&quot;' + this.options[this.selectedIndex].value + '&quot;>', '</position>', 'textarea'); reset(this);">
                    	<option value="none" class="selected" selected="selected">Position</option>
                    	<option value="gauche">A gauche</option>
                    	<option value="centre">Centré</option>
                    	<option value="droite">A droite</option>
                    </select>
                    <select>
                    	<option value="1">1</option>
                    	<option value="2">2</option>
                    <script>
                    function insertTag( txt ) {
                    	alert( txt );
                    }
                    function reset(select) {
                    	select.selectedIndex = 0;
                    }
                    </script>
                    
                    • Partager sur Facebook
                    • Partager sur Twitter
                      18 décembre 2010 à 12:58:03

                      Ou en effet c'est très bizarre ! Pourtant ton code marche aussi chez moi.

                      Voici mes codes !

                      JS :
                      function insertTag(startTag, endTag, textareaId, tagType) {
                              var field  = document.getElementById(textareaId); 
                              var scroll = field.scrollTop;
                              field.focus();
                              
                              /* === Partie 1 : on récupère la sélection === */
                              if (window.ActiveXObject) {
                                      var textRange = document.selection.createRange();            
                                      var currentSelection = textRange.text;
                              } else {
                                      var startSelection   = field.value.substring(0, field.selectionStart);
                                      var currentSelection = field.value.substring(field.selectionStart, field.selectionEnd);
                                      var endSelection     = field.value.substring(field.selectionEnd);               
                              }
                              
                              /* === Partie 2 : on analyse le tagType === */
                              if (tagType) {
                                      switch (tagType) {
                                              case "lien":
                                                      endTag = "</lien>";
                      								if (currentSelection) { // Il y a une sélection
                      										if (currentSelection.indexOf("http://") == 0 || currentSelection.indexOf("https://") == 0 || currentSelection.indexOf("ftp://") == 0 || currentSelection.indexOf("www.") == 0) {
                      												// La sélection semble être un lien. On demande alors le libellé
                      												var label = prompt("Quel est le libellé du lien ?") || "";
                      												startTag = "<lien url=\"" + currentSelection + "\">";
                      												currentSelection = label;
                      										} else {
                      												// La sélection n'est pas un lien, donc c'est le libelle. On demande alors l'URL
                      												var URL = prompt("Quelle est l'url ?");
                      												startTag = "<lien url=\"" + URL + "\">";
                      										}
                      								} else { // Pas de sélection, donc on demande l'URL et le libelle
                      										var URL = prompt("Quelle est l'url ?") || "";
                      										var label = prompt("Quel est le libellé du lien ?") || "";
                      										startTag = "<lien url=\"" + URL + "\">";
                      										currentSelection = label;                     
                      								}
                      
                                              break;
                                              case "citation":
                      								endTag = "</citation>";
                      								if (currentSelection) { // Il y a une sélection
                      										if (currentSelection.length > 30) { // La longueur de la sélection est plus grande que 30. C'est certainement la citation, le pseudo fait rarement 20 caractères
                      												var auteur = prompt("Quel est l'auteur de la citation ?") || "";
                      												startTag = "<citation nom=\"" + auteur + "\">";
                      										} else { // On a l'Auteur, on demande la citation
                      												var citation = prompt("Quelle est la citation ?") || "";
                      												startTag = "<citation nom=\"" + currentSelection + "\">";
                      												currentSelection = citation;    
                      										}
                      								} else { // Pas de selection, donc on demande l'Auteur et la Citation
                      										var auteur = prompt("Quel est l'auteur de la citation ?") || "";
                      										var citation = prompt("Quelle est la citation ?") || "";
                      										startTag = "<citation nom=\"" + auteur + "\">";
                      										currentSelection = citation;    
                      								}
                      
                                              break;
                                      }
                              }
                              
                              /* === Partie 3 : on insère le tout === */
                              if (window.ActiveXObject) {
                                      textRange.text = startTag + currentSelection + endTag;
                                      textRange.moveStart("character", -endTag.length - currentSelection.length);
                                      textRange.moveEnd("character", -endTag.length);
                                      textRange.select();     
                      				
                              } else {
                                      field.value = startSelection + startTag + currentSelection + endTag + endSelection;
                                      field.focus();
                                      field.setSelectionRange(startSelection.length + startTag.length, startSelection.length + startTag.length + currentSelection.length);
                              } 
                      
                              field.scrollTop = scroll;   
                      			
                      
                      }
                      
                      function reset(select) {
                      	select.selectedIndex = 0;
                      }
                      /* Après ya les fonctions de preview, view */
                      

                      HTML :
                      <form action="index.php?module=news&action=editeur_news_post" method="post">
                      	<div>
                      	<label for="titre">Titre : </label><input type="text" name="titre" value="<?php echo $donnees['titre'] ;?>"/><br /><br />
                      	<span style="float:right;">
                      			Smilies :<br /><img src="http://users.teledisnet.be/web/mde28256/smiley/smile.gif" alt=":)" onclick="insertTag(':)', '', 'textarea');" />
                      			<img src="http://users.teledisnet.be/web/mde28256/smiley/unsure2.gif" alt=":euh:" onclick="insertTag(':euh:', '', 'textarea');" /></span>
                      		<p>
                      			<input type="button" value="G" onclick="insertTag('<gras>','</gras>','textarea');"/>
                      			<input type="button" value="I" onclick="insertTag('<italique>','</italique>','textarea');" />
                      			<input type="button" value="S" onclick="insertTag('<souligne>','</souligne>','textarea');" />
                      			<input type="button" value="B" onclick="insertTag('<barre>','</barre>','textarea');" />
                      			<input type="button" value="Lien" onclick="insertTag('<lien>','</lien>','textarea','lien');"/>
                      			<input type="button" value="Image" onclick="insertTag('<image>','</image>','textarea');"/>
                      			<input type="button" value="Citation" onclick="insertTag('<citation>','</citation>','textarea','citation');"/>
                      			<input type="button" value="Puce" onclick="insertTag('<liste> <puce></puce> ','<puce></puce> </liste>','textarea');"/>
                      			<input type="button" value="Tableau" onclick="insertTag('<tableau> <ligne><cellule>-</cellule></ligne>',' </tableau>','textarea');"/>
                      			<input type="button" value="Vidéo" onclick="insertTag('<video>',' </video>','textarea');"/>
                      		
                      			<br />
                      			<select onchange="insertTag('<position valeur=&quot;' + this.options[this.selectedIndex].value + '&quot;>', '</position>', 'textarea'); reset(this);" >
                      				<option value="none" class="selected" selected="selected">Position</option>
                      				<option value="gauche">A gauche</option>
                      				<option value="centre">Centré</option>
                      				<option value="droite">A droite</option>
                      			</select>		
                      			<select onchange="insertTag('<flottant valeur=&quot;' + this.options[this.selectedIndex].value + '&quot;>', '</flottant>', 'textarea'); reset(this);">
                      				<option value="none" class="selected" selected="selected">Flottant</option>
                      				<option value="gauche">Gauche</option>
                      				<option value="droite">Droite</option>	
                      
                      			</select>
                      			<select onchange="insertTag('<taille valeur=&quot;' + this.options[this.selectedIndex].value + '&quot;>', '</taille>', 'textarea'); reset(this);">
                      				<option value="none" class="selected" selected="selected">Taille</option>
                      				<option value="ttpetit">Très très petit</option>
                      				<option value="tpetit">Très petit</option>
                      				<option value="petit">Petit</option>
                      				<option value="gros">Gros</option>
                      				<option value="tgros">Très gros</option>
                      				<option value="ttgros">Très très gros</option>
                      
                      			</select>
                      			<select onchange="insertTag('<titre' + this.options[this.selectedIndex].value + '>', '</titre' + this.options[this.selectedIndex].value + '>', 'textarea'); reset(this);">
                      				<option value="none" class="selected" selected="selected">Titre</option>
                      				<option value="1">Titre 1</option>
                      				<option value="2">Titre 2</option>
                      			</select>
                      			<select onchange="insertTag('<couleur valeur=&quot;' + this.options[this.selectedIndex].value + '&quot;>', '</couleur>', 'textarea'); reset(this);">
                      				<option value="none" class="selected" selected="selected">Couleur</option>
                      				<option value="white" style="background-color:white; ">Blanc</option>
                      				<option value="grey" style="background-color:grey">Gris</option>
                      				<option value="black" style="background-color:black; color:white;">Noir</option>
                      				<option value="red" style="background-color:red">Rouge</option>
                      				<option value="maroon" style="background-color:maroon">Marron</option>
                      				<option value="green" style="background-color:green">Vert</option>
                      				<option value="yellow" style="background-color:yellow">Jaune</option>
                      				<option value="blue" style="background-color:blue">Bleu</option>
                      				<option value="aqua" style="background-color:aqua">Bleu clair</option>
                      				<option value="fuchsia" style="background-color:fuchsia">Rose</option>
                      				<option value="purple" style="background-color:purple">Violet</option>
                      			</select>
                      
                      		</p>
                      		<p>
                      			<input name="previsualisation" type="checkbox" id="previsualisation" value="previsualisation" />
                      			<label for="previsualisation">Pr&eacute;visualisation automatique</label>
                      		</p>
                      	</div>
                      	<textarea name="contenu" onkeyup="preview(this, 'previewDiv');" onselect="preview(this, 'previewDiv');" id="textarea" cols="92" rows="10"><?php echo $donnees['contenu'];?></textarea>
                      
                      	<div id="previewDiv"></div>
                      	<p>
                      
                      		<center><input type="button" value="Visualiser" onclick="view('textarea', 'viewDiv');" /></center>
                      
                      	</p>
                      	<div id="viewDiv"></div>
                      	<input name="edit" type="hidden" value="<?php echo $_GET['edit']; ?>" />
                      <center><input type="submit" value="Enregistrer" /></center>
                      </form>
                      


                      PS : Je n'ai mit que le formulaire dans le HTML car sinon il me dit que le zCode bug sur le SdZ:o
                      • Partager sur Facebook
                      • Partager sur Twitter
                      Développeur web PHP - #Symfony2 - tcardonne.fr
                        18 décembre 2010 à 15:48:20

                        Faut juste changer le nom de la fonction reset ;)
                        (le changer dans le HTML et dans le JavaScript)
                        • Partager sur Facebook
                        • Partager sur Twitter
                          18 décembre 2010 à 18:42:42

                          Merci beaucoup xavierm02 !!

                          J'avais oublié que reset() existais déja ;)
                          • Partager sur Facebook
                          • Partager sur Twitter
                          Développeur web PHP - #Symfony2 - tcardonne.fr

                          Reset d'un élément select.

                          × 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