Creation d'un plugin 'editor' pour un fomulaire de texte
Bonjour à tous, je suis en train de créer un formulaire qui me permettra de rendre la gestion du contenu plus facile aux utilisateurs (création de news, etc..)
Pour une meilleure compréhension, voici mon code JS :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
| $.fn.editor = function(url, options)
{
// Options
options = arrayMerge(
{
"url" : url,
},options);
// init
this.each(function()
{
init($(this));
});
function init(me)
{
myId = me.attr('id');
myWidth = me.width();
myHeight = me.height();
html_link = '<div class="K_editor_link"><a id="K_editor_linkBold_'+myId+'">Gras</a>|<a id="K_editor_linkItalic_'+myId+'">Italique</a>|<a id="K_editor_linkUnderline_'+myId+'">Souligne</a></div>';
html_area = '<div name="'+me.text()+'" class="K_editor_area"><textarea id="K_editor_textarea_'+myId+'" name="'+myId+'">'+me.text()+'</textarea></div>';
html = html_link+html_area;
me.append(html);
myLink = me.children('.K_editor_link');
myTextarea = me.children('.K_editor_area').children('textarea');
$('#K_editor_linkBold_'+myId).click(function()
{
insertTag('<bold>','</bold>','K_editor_textarea_'+myId);
});
$('#K_editor_linkItalic_'+myId).click(function()
{
insertTag('<italic>','</italic>','K_editor_textarea_'+myId);
});
$('#K_editor_linkUnderline_'+myId).click(function()
{
insertTag('<underline>','</underline>','K_editor_textarea_'+myId);
});
}
// function
function insertTag(startTag, endTag, textareaId, tagType)
{
var field = document.getElementById(textareaId);
/* Ajoutes les balises autour du texte sélectionné dans field */
}
function arrayMerge(a, b)
{
/* fonction arrayMerge */
};
}; |
Maintenant le problème :
A partir du moment ou il y a plusieurs formulaires de ce type, et qu'il y a un click sur un 'link' les balises s'ajoutent sur le DERNIER textarea et pas sur le textarea du link...*
Je n'arrive à comprendre pourquoi les balises ne s'ajoute pas au bon textarea...
J'ai même essayé en mettant l'exemple ci dessous (et en créant les bonnes class) :
Code:
1 2 3 4
| myLink.children('.K_editor_linkUnderline'.click(function()
{
insertTag('<underline>','</underline>','K_editor_textarea_'+myId);
}); |
Mais toujours rien...
Si quelqu'un pouvait m'aider ! Je lui en serais très reconnaissant ! !!!