Inserer un Tableau pour appli WYSIWYG

Résolu
Jarod1980 Messages postés 273 Date d'inscription samedi 5 juillet 2003 Statut Membre Dernière intervention 31 mars 2015 - 15 avril 2007 à 17:39
Jarod1980 Messages postés 273 Date d'inscription samedi 5 juillet 2003 Statut Membre Dernière intervention 31 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.

Jarod_Delaware

6 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
17 avril 2007 à 06:12
>>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    
3
Jarod1980 Messages postés 273 Date d'inscription samedi 5 juillet 2003 Statut Membre Dernière intervention 31 mars 2015 2
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;
}

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






<hr />



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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
stfou Messages postés 450 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 18 avril 2007 3
16 avril 2007 à 19:28
Bonjour,
<td id="cellule">
document.getElementById("cellule").select() ne marche pas ?

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

Jarod_Delaware
0
Rejoignez-nous