Insérer du BBcode dans un formulaire, en cliquant sur une image.

[Résolu]
Signaler
Messages postés
95
Date d'inscription
mercredi 27 octobre 2004
Statut
Membre
Dernière intervention
1 décembre 2007
-
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
-
Bonjour,

Je suis entrain de créer un système de News, se servant de bbcode.

J'aimerais avoir un espèce d'éditeur, où l'on peut ajouter une balise en cliquant sur un bouton (on clique sur U et [u] s'affiche dans le formulaire.

Je ne vois pas du tout comment faire, pourriez vous m'aider???



Merci d'avance!



Cdrik

5 réponses

Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
Bonsoir,

Ce que tu cherche, c'est coté javascript.

Un truc d ce genre :

OnClick="document.form.textarea_name.value = document.form.textarea_name.value + ' ';"



Biensur qui est a amélioré

<hr size ="2" width="100%">Si ma reponse te convient, merci de l'accepté !
Messages postés
275
Date d'inscription
mercredi 11 août 2004
Statut
Membre
Dernière intervention
15 décembre 2005

Ce qu'il te faut, c'est un javascript qui insere du texte dans un champ quand tu clique sur une image.
Voici un exemple.

A mettre dans le head

<script type="text/javascript">
function addText(instext) {
var mess = document.champ.message;
//IE support
if (document.selection) {
mess.focus();
sel = document.selection.createRange();
sel.text = instext;
document.guestbook.focus();
}
//MOZILLA/NETSCAPE support
else if (mess.selectionStart || mess.selectionStart == "0") {
var startPos = mess.selectionStart;
var endPos = mess.selectionEnd;
var chaine = mess.value;


mess.value = chaine.substring(0, startPos) + instext + chaine.substring(endPos, chaine.length);


mess.selectionStart = startPos + instext.length;
mess.selectionEnd = endPos + instext.length;
mess.focus();
} else {
mess.value += instext;
mess.focus();
}
}
</script>

et a mettre dans le body

[# ]http://tonimage.gif alt="" border="0" />


<form action="" name="champ">
<textarea name="message" cols="40" rows="10"></textarea>
</form>

Voila, en esperant que cette réponse t'aura aidé.

Si ma reponse te convient, merci de l'accepter !

L'homme n'est pas fait pour travailler, la preuve, ça le fatigue Voltaire
Messages postés
95
Date d'inscription
mercredi 27 octobre 2004
Statut
Membre
Dernière intervention
1 décembre 2007

Merci beaucoup a vous deux... ca marche impec maintenant...

Je pensais peut-etre le faire en php.. avec au lieu d'une image un
bouton de formulaire... mais ca aurait été beaucoup trop gros
comme manip... Maintenant ca marche enfin!!!!



Merci encore!!



Cdrik
Messages postés
1
Date d'inscription
mercredi 16 mars 2005
Statut
Membre
Dernière intervention
17 mars 2005

bonjour, et merci pour cette info
je vien de tester ce systeme avec le java script ca fonction bien.
mais je voulais savoir comment fait on pour que ce bbcode soit afficher, faut il un autre java script ou faut il traiter le bbcode en php ???
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
Salut,
Euh juste php :
<!--StartFragment --> function BBcode($txt) {
$in = array(
'/\[b\](*)\[\/b\]/',
'/\[u\](*)\[\/u\]/',
'/\[i\](*)\[\/i\]/',
'/\[center\](*)\[\/center\]/',
);
$out = array(
' $1 ',
'$1',
'$1',
'$1',
);

return preg_replace($in, $out, $txt);
}



<HR width ="100%" SIZE=2>


Si ma reponse te convient, merci de l'accepté !