Jarod1980
Messages postés273Date d'inscriptionsamedi 5 juillet 2003StatutMembreDernière intervention31 mars 2015
-
15 avril 2007 à 17:39
Jarod1980
Messages postés273Date d'inscriptionsamedi 5 juillet 2003StatutMembreDernière intervention31 mars 2015
-
20 avril 2007 à 15:56
Bonjour,
Je suis en train de développer un editeur WYSIWG et je voudrais savoir si il existe un controle ActiveX ou un script javascript permettant d'insérer un tableau dans l'interface où l'utilisateur peut sélectionner son tableau (colonne, cellule) et changer les propriétés de celui ci. J'ai regardé du coté de doRichEditCommand mais j'ai pas trouvé. J'ai également regardé sur le site de microsoft où il y a un exemple de création d'un éditeur WYSIWYG mais ils n'abordent pas les tableaux (http://msdn.microsoft.com/library/default.asp?url=/workshop/author/editing/tutorials/html_editor.asp)
Si quelqu'un aurait des tuyaux je suis preneur.
Merci.
Jarod1980
Messages postés273Date d'inscriptionsamedi 5 juillet 2003StatutMembreDernière intervention31 mars 20152 20 avril 2007 à 15:56
Bonjour,
Je suis finallement arrivé à changer la couleur de fond en sélectionnant une seule cellule. Voilà mon script :
function modifyCell(){
var selection = document.selection.createRange();
var cursor = document.selection.createRange();
var table = cursor.parentElement();
if (table.nodeName.toLowerCase() == "td") {
//table.bgColor = "rgb(255,0,0)";
table.bgColor = "rgb(0,64,128)";
} else{alert("Vous devez sélectionner une cellule à la fois");}
}
Par contre maintenant, j'aimerais donner le choix de la couleur.
Mais là ça foire .
Si vous avez une idée, elle sera la bien venue.
Voici comment je m'y prend :
function modifyCellColor(){
var selection = document.selection.createRange();
var cursor = document.selection.createRange();
var table = cursor.parentElement();
if (table.nodeName.toLowerCase() == "td") {
table.bgColor = document.form1.bgColor.value;
}
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 16 avril 2007 à 15:21
Bonjour,
tiens c'est vrai... pas trouvé non plus.
on a mal cherché ?
sinon l'insérer, en javascript, là où est le curseur
ou en remplacement des caractères sélectionnés
creuser du coté de
var sel = objet.selection.createRange();
sel.text="tout ce qu'on veut y compris des balises...";
Jarod1980
Messages postés273Date d'inscriptionsamedi 5 juillet 2003StatutMembreDernière intervention31 mars 20152 16 avril 2007 à 19:18
Salut,
Merci pour ta réponse. Je vais essayer ce que tu m'as écris. J'ai ecris un script permettant d'insérer un tableau mais par contre je n'arrive pas à sélectionner une et seule cellule pour changer sa propriété. Par contre j'arrive à selectionner tout le tableau. Je sais pas si je peux mettre tout mon code via ce forum parce que il y a beaucoup de lignes. Dans le cas contraire, je ferais un copie/coller de mon code dans le forum.
Jarod_Delaware
Vous n’avez pas trouvé la réponse que vous recherchez ?
Jarod1980
Messages postés273Date d'inscriptionsamedi 5 juillet 2003StatutMembreDernière intervention31 mars 20152 19 avril 2007 à 15:54
Salut,
Merci pour vos réponses. Je n'arrive toujours pas à sélectionner une cellule de mon tableau. J'arrive à créer un tableau à sélectionner le tableau et à changer la couleur d'arrière plan des cellules. Par contre, moi ce que je voudrais faire c'est pouvoir sélectionner une cellule de mon tableau et changer sa couleur d'arrière plan.
J'ai testé <td id="cellule">
document.getElementById("cellule").select() mais ça marche pas. Ca me donne aucun résultat.
J'ai regardé aussi du coté du controle ActiveX DECMD_INSERTTABLE mais c'est un peu trop compliqué je trouve.
Voila mon code javascript (1er test) :
function modifyCell(bgcolor)
{
if (document.selection.type == 'Control')
{
range=document.selection.createRange(); if (range.length 1 && (range(0).tagName 'TABLE' || range(0).tagName == 'table'))
{
if(!bgcolor) bgcolor=range(0).bgColor;
range(0).bgColor=bgcolor;
}
}
}
Mon deuxième test :
function modifyCell(){
var selection = document.selection.createRange();
var cursor = document.selection.createRange();
var table = cursor.parentElement();
if (table.nodeName.toLowerCase() == "td") {
table.bgColor = "rgb(255,0,0)";
}
}
En gros, ce que je voudrais faire mais que j'arrive pas à faire c'est :
Si le curseur est dans une balise td
alors
insère : bgColor="une valeur" dans la balise td en cours.
Si vous avez une idée, parce que là je sèche littéralement.
Encore merci.