11540 sujets

JavaScript, DOM et API Web HTML5

Salut tout le monde^^

Je cherche des pistes (un peu en urgence).

Soit un code html :

<form method="POST" action="comm.php?partie=1&topic=19">
<p><span id='gras'><b>Gras</b></span>&nbsp;&nbsp;-&nbsp;&nbsp; <span id='italique'><i>Italique</i></span>&nbsp;&nbsp;-&nbsp;&nbsp; <span id='souligne'><u>Souligne</u></span></p>
<TEXTAREA rows="10" style="width:98%" name="message" id="message">Votre message ici (!)</TEXTAREA>
<input class='bouton' type='submit' value='Envoyer le message'></input></form>


(faites pas gaffe au css, c'est pas encore prêt)

Ce que je cherche à faire, c'est une mise en page type bbcode simple (pas en WYSIWYG).

Donc l'utilisateur va surligner une partie du texte qu'il vient d'écrire et cliquer ensuite sur l'un des trois spans de mise en forme.

Ce que je veux faire donc.
Soit le texte écrit au sein du textarea :
blablabla blabla blablabla


On imagine que l'utilisateur sélectionne le blabla du milieu puis clique sur "Gras". Ce qui doit s'afficher est alors :
blabla [g]blabla[/g] blablabla



Et j'avoue que là je vois pas trop par où je dois passer, ni quels sont les fonctions utilisés. Smiley confus
Modifié par Lothindil (09 Apr 2013 - 11:05)
A l'idéal, je préfèrerais du plus simple, du plus léger en fait...

J'ai pas l'intention de prévoir un bbcode complet (loin de moi cette idée), juste souligné, gras et italique -ainsi que smiley, mais ça c'est pas un soucis. (c'est en réalité pour un système de messages privés sur un jeu)
Modérateur
Tu peux personnaliser markItUp selon tes besoins en activant uniquement les boutons désirés et le plugin est très léger à la base. Tu devrais t'y intéresser davantage. Smiley cligne
Je vois ça...

mais bon, faut que je retravaille tout ce qui est CSS ainsi que ma gestion complète des smileys (qui sont générés pour l'instant simplement grâce à un array php) pour l'intégrer à un fichier qui est déjà loin d'être simpliste.

Le tout pour remplacer quelque chose, qui, à mon avis, devrait pouvoir se faire en 4 ou 5 lignes. Smiley ohwell

(et honnêtement, j'aime pas importer une librairie pour en désactiver 90%)
Modérateur
Ajouter des smileys à markitUp est très simple, surtout si tu as déjà la liste des smileys dans un array.

Tu n'as pas besoin non plus de désactiver quoi que ce soit. As-tu regardé le poids très léger du plugin et la simplicité du code? Le plugin fait beaucoup avec un engin très léger.

J'ai l'impression que tu as seulement survolé le plugin sans vraiment t'y intéresser.

Mais c'est comme tu veux. Tu peux toujours étudier leur code pour récupérer que ce qui t'intéresse.
J'ai vu la légèreté, non j'ai pas vu le code (il est 22h30, je prévois juste mon job de demain ^^ faut pas pousser ^^)

Ce que j'ai vu, c'est que c'est un truc archi-complet, permettant l'ajout de couleur, de titre, dans 6 codages différents, avec pré-visualisation,... là où je cherche juste à pouvoir intégrer [g] et [/g] devant et derrière une sélection ^^

C'est juste que j'aime pas avoir des trucs archi-complets pour remplacer la programmation de 4 lignes.

(sachant que le reste est déjà intégré dans mon design, que le travail de validation est déjà fait... me manque vraiment juste les gras, italique, souligné quoi ^^')
BBcode est une aberration. Tout ce qui parle de BBcode tu le fouts à la poubelle. La solution est là. Smiley smile
BBcode est le code le plus connu des utilisateurs lambda, j'ai aucune envie de m'amuser à changer les habitudes de mes joueurs ^^

Et que ça soit en bbcode ou en n'importe quoi, ça ne change absolument rien à mon soucis de toute façon.

Je veux juste savoir comment insérer des caractères en début et en fin d'une sélection au sein d'un textarea.

Et que je fasse ça en markcode, en code wiki, en html ou en bbcode ne change absolument rien à la problématique.
D'accord, en lisant un peu tous les codes, je capte mieux pourquoi j'avais rien trouvé de simple... C'est parce que y a rien de simple, IE qui fait de son nez.

Merci Dew, ta solution est celle qui colle le mieux à ce dont j'ai besoin. (bon, j'aurais un bout de code pas à moi autre que ma lib JQuery, mais vu le bordel de compatibilités, ça dépasse mes petites compétences)