Inserer un Tableau pour appli WYSIWYG [Résolu]

Signaler
Messages postés
273
Date d'inscription
samedi 5 juillet 2003
Statut
Membre
Dernière intervention
31 mars 2015
-
Messages postés
273
Date d'inscription
samedi 5 juillet 2003
Statut
Membre
Dernière intervention
31 mars 2015
-
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.

Jarod_Delaware

6 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
>>Je sais pas si je peux mettre tout mon code via ce forum parce que il y a beaucoup de lignes

tu devrais pouvoir extraire uniquement ce qui pose problème
très très souvent d'ailleurs, ça permet de résoudre tout seul.



<hr />



Cordialement        Bul    
Messages postés
273
Date d'inscription
samedi 5 juillet 2003
Statut
Membre
Dernière intervention
31 mars 2015
2
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;
}

<form name="form1" method="post" action="">

<select name="bColor" class="textbox" id="Couleur">
<option selected>None 
<option style="background-color:#FF0000" value="#FF0000">#FF0000 
<option style="background-color:#FFFF00" value="#FFFF00">#FFFF00 
<option style="background-color:#00FF00" value="#00FF00">#00FF00 
<option style="background-color:#00FFFF" value="#00FFFF">#00FFFF 
</select>

</form>

Jarod_Delaware
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
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...";






<hr />



Cordialement                Bul    
Messages postés
273
Date d'inscription
samedi 5 juillet 2003
Statut
Membre
Dernière intervention
31 mars 2015
2
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
Messages postés
450
Date d'inscription
samedi 16 avril 2005
Statut
Membre
Dernière intervention
18 avril 2007
2
Bonjour,
<td id="cellule">
document.getElementById("cellule").select() ne marche pas ?

<hr /><hr />STFOU
Messages postés
273
Date d'inscription
samedi 5 juillet 2003
Statut
Membre
Dernière intervention
31 mars 2015
2
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.

Jarod_Delaware