Partage
  • Partager sur Facebook
  • Partager sur Twitter

[BBcode]Faire une liste deroulante

Pour la selection des couleurs

    29 août 2006 à 11:14:16

    Bonjour :D

    Je m'en remet encore une fois a vous car j'ai encore un probleme....

    J'ai mis en pratique le tuto News et j'y ai incrusté le bout de code que l'on trouve dans le cour sur les regex pour faire son bbcode, et j'ai un peu adapté a ma sauce...

    Et la j'en suis a travailler sur comment faire une liste deroulante pour la selection des couleurs (comme sur la plupart des forum).

    J'aimerai que lorsqu'on selectionne une couleur ca donne un truc comme:
    [couleur=red]Un test pour la couleur rouge[/couleur]

    J'ai aussi la prévisualisation automatique lorsque l'on redige une news... donc faut aussi prendre en compte le fichier prev.js

    Voici le lien vers le tuto:
    http://www.siteduzero.com/tuto-3-1982-1-creation-d-039-un-bbcode-et-apercu-en-direct.html

    Et voila le code de mon formulaire ou se trouve les boutons pour le bbcode:

    <form method="post" action="liste_news.php" name="formulaire">
    <p>Titre : <input type="text" size="30" name="titre" value="<?php echo $titre; ?>" /></p>
    <input type="button" id="gras" name="gras" value="Gras" onClick="javascript:bbcode('[g]', '[/g]');return(false)" />
    <input type="button" id="italic" name="italic" value="Italic" onClick="javascript:bbcode('[i]', '[/i]');return(false)" />
    <input type="button" id="souligne" name="souligne" value="souligne" onClick="javascript:bbcode('[s]', '[/s]');return(false)" />
    <input type="button" id="centrer" name="centrer" value="centrer" onClick="javascript:bbcode('[centrer]', '[/centrer]');return(false)" />
    <input type="button" id="droite" name="droite" value="droite" onClick="javascript:bbcode('[droite]', '[/droite]');return(false)" />
    <select name="couleur" onClick="javascript:bbcode('[couleur=]', '[/couleur]');return(false)">
            <option class="couleur_rouge" value="red">Rouge</option>
            <option class="couleur_vert" value="green">Vert</option>
            <option class="couleur_bleu" value="blue">Bleu</option>
            <option class="couleur_jaune" value="yellow">Jaune</option>
            <option class="couleur_violet" value="purple">Violet</option>
            <option class="couleur_olive" value="olive">Olive</option>
    </select><br />
    <input type="button" id="image" name="image" value="Image" onClick="javascript:bbcode('[image]', '[/image]');return(false)" />
    <input type="button" id="lien" name="lien" value="Lien" onClick="javascript:bbcode('[url=]', '[/url]');return(false)" />
    <a href="#" title="Créer une citation" onClick="javascript:bbcode('[citation]', '[/citation]');return(false)">Citation</a>
    <img src="http://siteduzero.com/Templates/images/smilies/smile.png" title="" alt="" onClick="javascript:smilies(':D');return(false)" />
    <br />
    <input name="auto" id="auto" type="checkbox" onClick="automatique()" /> <label for="auto">Prévisualisation automatique</label>
    <!-- on créer la case à cocher pour un prévisualisation automatique -->
    <br />
    <p>Contenu :<br />
            <textarea cols=50 rows=10 id="textarea" name="contenu"><?php echo $contenu; ?></textarea>
            <br />
            <input type="hidden" name="id_news" value="<?php echo $id_news; ?>
    " />
            <input type="button" value="Prévisualiser" onClick="previsualisation();return(false)" /><!-- ce bouton va permettre aux utilisateurs de d'avoir un aperçu quand ils le veulent, pas en direct -->
            <div style="border: 1px dashed #000000; padding: 0.2em; height: 200px; overflow: auto; width: 69%;" align="left" id="prev"></div>
    <!-- on créer un div avec quelques caractéristique, on lui donne un nom et on ne le remplit pas, on le laisse vide -->
            <input type="submit" name="submit" value="Envoyer" />
    </p>
    </form>


    En clair ma Question:
    Comment faire pour que lorsque l'on choisisse une couleur cela passe dans la bonne couleur dans la balise bbcode et pour que ca s'affiche aussi dans la fenetre de previsualisation?


    Merci a vous j'espere ne pas avoir été trop confu dans mes propso.
    A bientot !! :)
    • Partager sur Facebook
    • Partager sur Twitter
      29 août 2006 à 11:23:07

      Alors, moi, même si je suis pas très fort en Javascript, je pense avoir une solution :
      <select name="couleur" onClick="javascript:bbcode('[couleur=]', '[/couleur]');return(false)">
              <option class="couleur_rouge" value="red">Rouge</option>
              <option class="couleur_vert" value="green">Vert</option>
              <option class="couleur_bleu" value="blue">Bleu</option>
              <option class="couleur_jaune" value="yellow">Jaune</option>
              <option class="couleur_violet" value="purple">Violet</option>
              <option class="couleur_olive" value="olive">Olive</option>
      </select>

      Tu te débrouilles pour, quand tu choisis "red" par exemple (dans value), cette valeur soit stockée dans une variable Javascript. Après, tu l'affiches avec javascript:bbcode('[couleur=]', '[/couleur]);

      Mais je sais pas comment.
      En espérant t'avoir un peu aidé,

      Diti :)
      • Partager sur Facebook
      • Partager sur Twitter

      Ancien validateur du SdZ.

        29 août 2006 à 11:42:03

        Merci de ta reponse...

        Oui le principe je l'ai compris mais je ne sais pas le faire, je ne connais pas du tout le javascript :(

        Donc pour remonter la valeur de value dans [couleur=VALEUR DU VALUE]Texte blabla[/couleur] je ne sais pas le faire...

        Si quelqu'un pouvait me montrer le code ca serait cool ;)

        Merci!
        • Partager sur Facebook
        • Partager sur Twitter
          29 août 2006 à 13:24:23

          Salut,
          la question a déjà été posée (et résolue :) ! ) : ici.

          Cordialement,
          Gregoo
          • Partager sur Facebook
          • Partager sur Twitter
            29 août 2006 à 14:34:18

            J'ai pas encore tester mais je pense que j'arriverai a faire ce que je veux avec ca!!!!

            Encore une fois merci a toi Greggo ;)
            (ca devient une habitude... lol )
            • Partager sur Facebook
            • Partager sur Twitter
              30 août 2006 à 14:25:57

              Bonjour,

              Je me permet de remonter le sujet car j'ai toujours un probleme avec cette liste deroulante.

              Alors tout d'abord ce qui marche:
              Quand je selectionne la couleur rouge, le bbcode suivant s'affiche: [couleur=red][/couleur]
              Si j'ai surligné du texte j'obtient: [couleur=red]mon texte surligné[/couleur]
              Quand je poste le message, les bonnes couleurs s'affiche bien dans la news!

              Maintenant ce qui marche pas et ou je solicite votre aide:
              La previsualisation lors de la redaction de la news.
              En fait quand j'entre [couleur=red]mon texte surligné[/couleur] dans mon texarea et bien j'otient la meme chose dans ma fenetre de prév au lieu de: mon texte surligné

              J'ai ajouté un code dans mon fichier prev.js mais je doute de sa validité ainsi que du code de mon select dans mon formulaire...

              Pouvez vous jeter un oeil dessus svp?

              Voici ce que j'ai ajouter dans mon fichier prev.js
                      // balise couleur   
                      t=deblaie(/(\[\/couleur\])/g,t)
                      t=remplace_tag(/\[\couleur=(.+)\](.+)\[\/couleur\]/g,'<span style="color:$1">$2</span>',t)
                      t=remblaie(t)


              Et voici le code de ma liste qui est dans mon formulaire:
              <select onchange="if(this.value != '') bbcode('[couleur='+this.value+']', '[/couleur]');return(false);">
                      <option value='' selected="selected">Couleurs</option>
                      <option value='red' style="color:red">Rouge</option>
                      <option value='green' style="color:green">Vert</option>
                      <option value='blue' style="color:blue">Bleu</option>
                      <option value='yellow' style="color:yellow">Jaune</option>
                      <option value='purple' style="color:purple">Violet</option>
                      <option value='olive' style="color:olive">Olive</option>
              </select>


              J'espere que quelqu'un pourra me depanner car la je suis vraiment bloqué :(

              Merci.

              • Partager sur Facebook
              • Partager sur Twitter

              [BBcode]Faire une liste deroulante

              × 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