Inserer un lien dans un textarea depuis un popup....

jacknikolson Messages postés 134 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 18 novembre 2012 - 17 nov. 2006 à 10:15
cs_neof1 Messages postés 1 Date d'inscription mardi 17 juin 2003 Statut Membre Dernière intervention 11 décembre 2006 - 11 déc. 2006 à 12:23
Bonjour,


J'aimerais réaliser un truc mais je ne sais pas du tout comment faire. Il s'agit de JS mais comme je ne maîtrise pas du tout je demande de l'aide.


Voici le projet:


Je travaille sur un portail.
J'ai une page pour poster des articles, avec un petit éditeur de texte. Depuis cette page je peux ouvrir une popup pour visualiser les images d'un dossier (l'URL de l'image s'affiche sous celle-ci). Si je veux insérer une image dans mon article je dois prendre son url, la coller dans l'éditeur de texte et entourer cette url avec des balises .


Ce que je voudrais, si c'est réalisable, c'est que depuis ma popup, en cliquant sur un bouton "insérer" situé sous chaque image ça insère dirrectement dans le champ de texte de ma page principale là où se trouve le curseur....


J'ai trouvé ailleurs dans le portail une page qui gère le choix d'avatars de cette façon mais je ne réussis pas à adapter ça à mon cas.



Dans la popup l'image s'affiche avec ce lien:






Dans la page de base il y a cette fonction:


<script type= "text/javascript">
function showimage() {
   if (!document.images)
   return
   document.images.avatar.src=
   \'./images/avatars/\' + document.new_user.user_avatar.options[document.new_user.user_avatar.selectedIndex].value
  }
</script>



L'endroit où l'avatar change quand on clique sur celui de la popup indique ceci:


  <select onchange="showimage()" name="user_avatar" id="user_avatar">';
  $repertoire = './images/avatars/';
  $rp = opendir ($repertoire);
  while ($entree = readdir ($rp))
  {
   $ext = strrpos ($entree, '.');
   switch (strtolower (substr ($entree, $ext + 1)))
   {
    case 'jpg':
    case 'gif':
    case 'png':
    echo '<option value="'.$entree.'">'.$entree.'</option>';
   }
  }
  closedir ($rp);
  $signature = (isset($_REQUEST['signature']) ? '' : $signature) ;
  $regles_forum = (isset($_REQUEST['regles_forum']) ? '' : $regles_forum) ;
  echo '</select>&nbsp;&nbsp;
  

  
Je ne réussis pas à adapter ça à mon cas. Si quelqu'un a la solution merci d'avance.


Voici mon code:

<?php




####################################################################
######## générer la popup de gestion des images du module ##########
####################################################################


if (isset($_REQUEST['avatar']) && $_REQUEST['avatar'] == 'voir')
{
 if(!file_exists('../../themes/'.$theme.'/themeinfo.php'))
 {
  $dir=opendir('../../themes');
  while(($theme=readdir($dir))!==FALSE)
  {
   if(file_exists('../../themes/'.$theme.'/themeinfo.php')){break;}
  }
  if(!file_exists('../../themes/'.$theme.'/themeinfo.php')){
   function bloc_head($titre)
   {
    echo ''.$titre.'

';
   }
   function close_table()
   {
    echo '
';
   }
  }
 }else{
  include_once '../../themes/'.$theme.'/themeinfo.php';
  include_once '../../themes/'.$theme.'/bloc.php';
 }
 ?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//FR"
 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
 <?php
 echo '
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
 <meta http-equiv="Content-Language" content="fr"/>
 <title>......Gestion des images du module......</title>
 <link rel="stylesheet" type="text/css" href="../../themes/'.$theme.'/style/style.css"></link>
 <script type="text/javascript" src="../../themes/'.$theme.'/png.js"></script>
 </head>
 
';
  ## UPLOAD##
  error_reporting(0);
 $err = '';
 if (isset ($_GET['type']) && $_GET['type'] == 'valid')
  {
  // A adapter
  $largeur_max = 800;
  $hauteur_max = 1200;
  $poids_max   = 1000000;
  // Pas touche à la suite
  $poids_max_txt = round($poids_max / 1024).' ko';
  if (is_uploaded_file ($_FILES['image']['tmp_name']))
   {
   if ($infos_img = getimagesize ($_FILES['image']['tmp_name']))
    {
    if ($infos_img[0] > $largeur_max)
    $err = 'Taille ou format incorects (voir mode d\'emploi)';
    if ($infos_img[1] > $hauteur_max)
    $err = 'Taille ou format incorects (voir mode d\'emploi)';
    if ($image_size > $poids_max)
    $err = 'Taille ou format incorects (voir mode d\'emploi)';
    if ($infos_img[2] == 5 || $infos_img[2] == 6)
    $err = 'Taille ou format incorects (voir mode d\'emploi)';
    if (file_exists('../../modules/publications/images/'.$image_name))
    $err .= 'Il y a d&eacute;j&agrave; une image avec ce nom.
';
    if ($err == '')
     {
     move_uploaded_file ($_FILES['image']['tmp_name'], '../../modules/publications/images/'.$_FILES['image']['name']);
     $err = 'L\'image a bien &eacute;t&eacute; transf&eacute;r&eacute;e';
     }
    }
   else
   $err .= 'Ce n\'est pas une image qui a &eacute;t&eacute; upload&eacute;e.
';
   }
  else
  $err .= 'Aucune image n\'a &eacute;t&eacute; upload&eacute;e.';
  }
 echo '
  ----

  Ajout d\'image à la base de données .

 
 <form name="upload" enctype="multipart/form-data" method="post" action="../../modules/publications/poster.php?avatar=voir&amp;type=valid">
 
 
 
 
 
 
 ';
 if ($err != '')
  {
  echo '
'.$err.'
';
  }
 echo'
 </form>
 ,
 
 

 ';
 
 $loop = 0;
 echo '';
 echo '
  MODE D\'EMPLOI

1) Si n&eacute;cessaire, ajoutez vous images dans la base de donn&eacute;es d\'images du module.

  2) Copiez le lien complet situ&eacute; sous l\'image et collez-le dans l\'&eacute;diteur de texte.

  2) S&eacute;lectionnez ce lien dans l\'éditeur de texte et cliquez sur l`\'ic&ocirc;ne "image"

  ** Attention cliquer sur [Supprimer] supprime d&eacute;finitivement l\'image***


 

';
 // Fonction pour deleter une image.
 
    if ($faire_image == 'del'){
  unlink('../../modules/publications/images/'.$_GET['nom_img']);
  echo '
<center>L"image a &eacute;t&eacute; supprim&eacute;e du serveur !
  

[../../modules/publications/poster.php?avatar=voir ]</center>
';
 }
  
 echo '
';
 $repertoire = '../../modules/publications/images/';
 $rp = opendir ($repertoire);
 while ($entree = readdir ($rp))
 {
  $ext = strrpos ($entree, '.');
  switch (strtolower (substr ($entree, $ext + 1)))
  {
   case 'jpg':
   case 'gif':
   case 'png':
   $loop ++;
   
   ## ************  C'est ici que s'affiche l'image dans la popup ******************##
   
   echo '   
   

   
   modules/publications/images/'.$entree.'
   

   [index.php?mod=publications&amp;ac=gestioncat Cr&eacute; une rubrique ]

</center>' ;
  close_table() ;
  return ;
 }


 
 if(isset($_POST['action']) && $_POST['action'] =='envoyer')
 {
  $temps      = time();
  
  // Modification : On insère 0 à la valeur de validation pour que l'publications soit validé directement
  ## ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ Modif par VANGARDIS ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ ##
  //Modif pour remplir le champ position que j'ai rajouté
  //--> on prend la position
  
  $req=reqmysql("SELECT position FROM `publications` WHERE `publications`.`ref`=".$_POST['ref']."
                        ORDER BY position DESC");
                        $result = mysql_fetch_object($req) ;
                        $new_pos = $result->position + 1 ;
      
  // Au post de l'article on rajoute le champ "position" ("'.$new_pos.'")
  $req = reqmysql('INSERT INTO `publications` (titre,date,auteur,ref,texte,type,attribut,validation,position) VALUES ("'.addslashes($_POST['titrenews']).'","'.$temps.'","'.$pseudo.'","'.$_POST['ref'].'","'.addslashes($_POST['texte']).'","'.$_POST['type'].'","'.bbcode($_POST['smileys']).'","0", "'.$new_pos.'");') or die ('
<center>Une erreur est survenue !</center>') ;
  
  
  ## ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ FIN Modif par VANGARDIS ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ ##
  
  bloc_head('Information');
  echo '
  Merci de votre participation !

  <form action="index.php">
  
  
  

  </form>';
  close_table();
  
 }
 else
 {
  
  bloc_head('Poster une publication :');
  
  echo '
    ----

      
  <script type="text/javascript" src="bbcode.js"></script>
  <script type="text/javascript">
  function envoyer(formulaire)
  {
   if (formulaire.titrenews.value=="")
   {
    alert("Veuillez indiquer un titre pour votre publications.");
    formulaire.titrenews.focus();
    return false;
   }
   if (formulaire.texte.value=="")
   {
    alert("Veuillez indiquer un contenu pour votre publications.");
    formulaire.texte.focus();
    return false;
   }
   formulaire.submit();
  }
  </script>
  
  
  <center>
<form name="formulaire" method="post" action="index.php" style="
 font-family: Arial, Helvetica, sans-serif;
 font-size: 13px;
 line-height: 20px;
 margin: 0px;
 padding: 0px;">
  
  
  
  
  
  Titre :
  
  
  Rubrique :
  <select style="font-family: Arial, Helvetica, sans-serif; font-size: 10px; line-height: 15px; margin: 0px; padding: 0px; height: 15px;" name="ref">';
  
  while ($publications = mysql_fetch_object($req_art))
  {
   $publications->titre = htmlentities(stripslashes($publications->titre));
   echo '<option value="'.$publications->id.'">'.$publications->titre.'</option>';
  }
  echo '
  </select></center>
  
';
  
  echo '
  <table border="0" cellspacing="0" cellpadding="0" align="center">
  ----

   ,

Format du texte : html&nbsp;&nbsp;Balises BBcode&nbsp;&nbsp;Lien vers une page

<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\">
  ----

     

 

<table width="100%"  border="0" cellspacing="0" cellpadding="0">
  ----

   , </td>
    <table width="322" border="0" cellspacing="0" cellpadding="0" align="left">
      ----

       ,
  
  [javascript:; ]
 
 </td>
    <td width="19"></td>
  </tr>
</table>
  ----

    ,
    <table width="132" border="0" cellspacing="0" cellpadding="0" align="left">
        ----

         ,
   
   
    [javascript:couleur(\'#ffffff\');
 ]
 [javascript:couleur(\'#000066\');
 ]
 [javascript:couleur(\'#cc3300\');
 ]
 [javascript:couleur(\'#990099\');
 ]
 [javascript:couleur(\'#ffff00\');
 ]
 [javascript:couleur(\'#009999\');
 ]
 [javascript:couleur(\'#0000ff\');
 ]
 [javascript:couleur(\'#666666\');
 ]
 </map>
 
 <center>


 &nbsp;&nbsp;Activer les smileys
 D&eacute;sactiver les smileys

 [index.php?mod=forum&amp;ac=manuel [Manuel d&rsquo;utilisation du BBcode]]

';
 
 
 $smileys = array();
 $rep     = opendir('./images/smileys/');
 while ($file = readdir($rep ))
 {
  if ((strtolower(substr($file ,-3))=="gif" || strtolower(substr($file ,-3))=="png" || strtolower(substr($file ,-3))=="jpg") && substr($file ,0,1)=="s")
  {
   $id_img = substr($file ,1) ;
   $id_img = substr($id_img ,0,-4) ;
   $id_img = str_replace('g3ag',':',$id_img ) ;
   $id_img = str_replace('g3bg',';',$id_img ) ;
   $id_img = str_replace('g28g','(',$id_img ) ;
   $id_img = str_replace('g29g',')',$id_img ) ;
   $id_img = str_replace('g23g','#',$id_img ) ;
   $id_img = str_replace('g7cg','|',$id_img ) ;
   $id_img = str_replace('g21g','!',$id_img ) ;
   $id_img = str_replace('g24g','$ ',$id_img ) ;
   $id_img = str_replace('g25g','%',$id_img ) ;
   $id_img = str_replace('g27g','\'',$id_img ) ;
   $id_img = str_replace('g2ag','*',$id_img ) ;
   $id_img = str_replace('g3cg','<',$id_img ) ;
   $id_img = str_replace('g3dg','=',$id_img ) ;
   $id_img = str_replace('g3eg','>',$id_img ) ;
   $id_img = str_replace('g3fg','?',$id_img ) ;
   $id_img = str_replace('g40g','@',$id_img ) ;
   $id_img = str_replace('g5bg','[',$id_img ) ;
   $id_img = str_replace('g5cg','\\',$id_img ) ;
   $id_img = str_replace('g5dg',']',$id_img ) ;
   $id_img = str_replace('g5fg','_',$id_img ) ;
   $id_img = str_replace('g7bg','{',$id_img ) ;
   $id_img = str_replace('g7dg','}',$id_img ) ;
   $id_img = str_replace('g2fg','/',$id_img ) ;
   $limi []=10000;
   $si =getimagesize('images/smileys/'.$file );
   $smileys []=array($file ,$si [0],$si [1],$id_img );
  }
  
 }
 closedir($rep );
 clearstatcache();
 
 if(count($smileys )>0)
 {
  usort($smileys ,'comp');
  
  $i =0;$ct =0;
  
  echo '[javascript:bb_chg(\'smil_'.($ct +$smiley_count ).'\'); Smileys]

'."\n" ;
  
  $cur =$limi [0];
  
  foreach($smileys as $n => $smil )
  {
   $i ++;
   
   if($smil [1]<=$cur && $smil [2]<=$cur )
   {
    echo '[javascript:sm(\''.$smil [3].'\'); ]&nbsp;'."\n" ;
    
   }
   else
   {
    $ct ++;
    
    for($j =$i ;$j <=$tab_width ;$j ++)
    {
     echo '';
    }
    
    echo '

[javascript:bb_chg(\'smil_'.($ct +$smiley_count ).'\'); De plus gros smileys...]
'."\n" ;
    echo '[javascript:sm(\''.$smil [3].'\'); ]';
    $cur =$limi [$ct ];
    $i =1;
   }
   if($i %$tab_width ==0)
   {
    echo '
';$i =0;
   }
   
  }
  for($j =$i %$tab_width +1;$j <=$tab_width ;$j ++)
  {
   echo '&nbsp;';
  }
  
  echo '

';
  
  for($c =$ct ;$c >0;$c --)
  {
   echo '
';
  }
 }
 
 $smiley_count +=$ct +1;
 echo'</center>';
 
}


smileys();
echo'
</td>
  </tr>
</table>
  ';
  //afficher_smileys();
  echo '
</form>
  ' ;
  close_table();
 }
 
}
else
{
 open_table();
 echo '
 
 Fonction r&eacute;serv&eacute;e !

 Vous n&lsquo;avez pas le grade suffisant pour acc&eacute;der &agrave; cette partie du site !

 <form action="index.php">
 <center></center>
 </form>
 

';
 close_table();
}


$aff_drt=1;


?>

Merci pour votre aide.

8 réponses

jacknikolson Messages postés 134 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 18 novembre 2012
17 nov. 2006 à 11:58
En fait , j'ai avancé un peu mes recherches.

Il semblerait que ce qui fait pour moi c'est getElementById

Mais je n'arrive pas à l'utiliser.....

Que dois-je changer à ça?

sachant que j'ai rajouté:

<form name="formulaire" id="formulaire"

dans mon form et que mon textarea est sous la forme

<textarea rows="20" cols="83" id="texte" name="texte">
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
17 nov. 2006 à 12:46
B

onjour...



onclick="window.opener.document.getElementById("texte").value=this.src;"
devrait suffire... sans formulaire puisque textarea a un ID






;0)
0
jacknikolson Messages postés 134 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 18 novembre 2012
17 nov. 2006 à 17:24
Salut,







envoie bien l'URL dans le champ titrenews, même si titrenews n'a pas d'id mais juse un "name"

Mais NI

NI

ne renvoient rein dans le textarea
0
jacknikolson Messages postés 134 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 18 novembre 2012
17 nov. 2006 à 17:28
Ok j'ai trouvé....il s'agissait d'un souci de guillemets....

Ca fonctionne parfaitement!!!

Merci pour le coup de main.
0

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

Posez votre question
jacknikolson Messages postés 134 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 18 novembre 2012
17 nov. 2006 à 17:38
un autre détail.

Quand je clique ça met bien le lien mais si je clique une autre image ça remplace le lien.....j'aimerais bien que ça le mette à la queue...
Que ça l'insère là où se trouve le curseur en fait.

Est-ce possible?
0
astuces_jeux Messages postés 731 Date d'inscription mercredi 15 novembre 2000 Statut Membre Dernière intervention 27 mai 2010
22 nov. 2006 à 14:18
0
astuces_jeux Messages postés 731 Date d'inscription mercredi 15 novembre 2000 Statut Membre Dernière intervention 27 mai 2010
22 nov. 2006 à 14:31
excuse moi c'est pas "wysiwig" mais "wysiwyg" sur les adresses que jai mis ou aussi http://www.codes-sources.com
tu y verras des exemple d'éditeur de texte
voici un exemple de code :
------------------------------------------------index.htm----------------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>WYSIWYG</title>
<script language= "javascript" src="wysiwyg.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">


</head>





  WYSIWYG:

  <textarea style="width:420px; height:150px" name="txt_area2" cols="50" rows="5" id="txt_area2">C'est cool hein ?

AMUSEZ-VOUS BIEN AVEC CA !!!

  </textarea>
<script language="javascript">
 Reset('all');
</script>

</html>
-----------------------------------~~~~~~----------------------------~~~~~~---------------------------------
-------------------------------------------------wysiwyg.js------------------------------------------------------
//////////////////////////////////////////////////////////////////////////////////////////
//script réalisé par Andrei Savin (Glork)                                               //
//////////////////////////////////////////////////////////////////////////////////////////


var icon_list = new Array();
icon_list[0] = new Array("bold", "bold", "Bold");
icon_list[1] = new Array("underline", "underline", "Underline");
icon_list[2] = new Array("italic",  "italic", "Italic");
icon_list[3] = new Array("bar",  "bar", "bar");
icon_list[4] = new Array("JustifyLeft", "left", "Left Align");
icon_list[5] = new Array("JustifyCenter", "center", "Center");
icon_list[6] = new Array("JustifyRight", "right", "Right Align");
icon_list[7] = new Array("bar",  "bar", "bar");
icon_list[8] = new Array("insertorderedlist", "orderlist", "Ordered List");
icon_list[9] = new Array("insertunorderedlist", "turnorderlist", "Bulleted List");
icon_list[10] = new Array("bar",  "bar", "bar");
icon_list[11] = new Array("forecolor", "charcolor", "Character Color");
icon_list[12] = new Array("backcolor", "backgroundcolor", "Highlighted Color");
icon_list[13] = new Array("bar",  "bar", "bar");
icon_list[14] = new Array("createlink", "link", "Add Link");
icon_list[15] = new Array("insertimage", "image", "Add Image");
icon_list[16] = new Array("inserthorizontalrule", "rule", "Rule");
icon_list[17] = new Array("bar",  "bar", "bar");


var font_list = new Array();
font_list[0] = new Array("Arial", "Arial");
font_list[1] = new Array("Courier", "Courier");
font_list[2] = new Array("Sans Serif",  "Sans Serif");
font_list[3] = new Array("Tahoma", "Tahoma");
font_list[4] = new Array("Verdana", "Verdana");
font_list[5] = new Array("Wingdings", "Wingdings");


var fontsize_list = new Array();
fontsize_list[0] = new Array("1", "Tres petit");
fontsize_list[1] = new Array("2", "Petit");
fontsize_list[2] = new Array("3", "Moyen");
fontsize_list[3] = new Array("4", "Gros");
fontsize_list[4] = new Array("5", "Tres gros");
fontsize_list[5] = new Array("6", "Enorme");




var handing_list = new Array();
handing_list[0] = new Array("Heading 1", "H1");
handing_list[1] = new Array("Heading 2", "H2");
handing_list[2] = new Array("Heading 3", "H3");
handing_list[3] = new Array("Heading 4", "H4");
handing_list[4] = new Array("Heading 5", "H5");
handing_list[5] = new Array("Heading 6", "H6");


var select_font_op = "";




document.write("<style type="text/css">.link_editor { font-family: Arial, Helvetica, sans-serif; font-size: 9px;color: #666666; text-decoration: underline;}</style>");




var nav_app = "";


if (document.all)
 nav_app = "IE";
else
 nav_app = "AUTRES";




function popup(url, titre, largeur, hauteur, scrollbar)
{
   window.open(url, titre, 'width=' + largeur + ', height=' + hauteur + ', scrollbars=' + scrollbar);
}


function see_source(zone_origine, zone_depart, liensee_wysiwyg){
 document.getElementById(zone_origine).style.display='none';
 document.getElementById(zone_depart).style.display='block';
 document.getElementById(liensee_wysiwyg).style.display='block';
}


function see_wysiwyg(zone_origine, zone_depart, liensee_wysiwyg){
 
 document.getElementById(zone_origine).style.display='block';
 document.getElementById(zone_depart).style.display='none';
 document.getElementById(liensee_wysiwyg).style.display='none';
}


function add_foot_tool(commande, iframe_val, val_tab){
 //alert ("select"+commande);
 var select_tag = "<select style="font-family: Arial, Helvetica, sans-serif; font-size: 10px;" id="select"+commande+"" name="select"+commande+"" onChange="commande_html('"+commande+"', '"+iframe_val+"', this.options[this.selectedIndex].value)">";
 
 if (val_tab == "font_list"){
 
  if (font_list.length>0){
   select_tag += "<option value="">-- Police --</option>";
   for (i=0;i"+font_list[i][1]+"</option>";
   }
   select_tag += "</select>";
  }
 }
 
 if (val_tab == "fontsize_list"){
 
  if (fontsize_list.length>0){
   select_tag += "<option value="">-- Taille du texte --</option>";
   for (i=0;i"+fontsize_list[i][1]+"</option>";
   }
   select_tag += "</select>";
  }
 }
 
 if (val_tab == "handing_list"){
 
  if (handing_list.length>0){
   select_tag += "<option value="">-- Handing --</option>";
   for (i=0;i<handing_list.length;i++){  
    select_tag += "<option value=""+handing_list[i][0]+"">"+handing_list[i][1]+"</option>";
   }
   select_tag += "</select>";
  }
  
 }
 
 return (select_tag); 
}




function commande_html(commande, zone_html, option){


 if (document.getElementById(zone_html).contentDocument){
  
  zone_editable = document.getElementById(zone_html).contentWindow.document;


 } else {
  zone_editable = document.frames[zone_html].document;
  
 }


 zone_editable.execCommand(commande,false,option);
 


 if (commande == 'formatblock'){  
  //var select_font_op = document.getElementById("selectfontsize").options[document.getElementById("selectfontsize").selectedIndex].value);
  window.frames[zone_html].document.execCommand('fontname',"",select_font_op);
  
 }
 if (commande == 'fontname'){
  //alert(option);
  select_font_op = option;
 }


 window.frames[zone_html].focus();
}




function Reset(zone) {


 var txt_zone_tags;
 
 if (zone == 'all'){
  txt_zone_tags = document.getElementsByTagName("textarea");
  for (var i = 0; i < txt_zone_tags.length ; i++)  {
   makeFrame(txt_zone_tags[i].id);
  }
 }
 else{
  makeFrame(zone);
 } 
 
}


function copy2(zone1, zone2) {
 var iframe_area = zone1;
 var txt_area = zone2;
 document.getElementById(txt_area).value = window.frames[iframe_area].document.body.innerHTML;




}




function copy(zone1, zone2) {
 var txt_area = zone1;
 var iframe_area = zone2;
 window.frames[iframe_area].document.body.innerHTML=document.getElementById(txt_area).value;
}


function makeFrame(txt_zone) {
 
 var parent=document.getElementById(txt_zone).parentNode;
 var icons_tab = "";
 
 var iframe_name = txt_zone + "_iframe";
 var div_name = txt_zone + "_div";
 var div_name2 = txt_zone + "_div_contener";
 var div_wysiwyg_name = txt_zone + "div_wysiwyg";
 
 //crée la zone tools
 tab_tool = document.createElement("TABLE");
 
 tab_tool.setAttribute("border", "0");
 tab_tool.setAttribute("cellpadding", "2");
 tab_tool.setAttribute("cellspacing", "2");
 
 tab_toolbody = document.createElement("TBODY");
 
 mycurrent_row=document.createElement("TR");


 
  //boucle des boutons...
  for (i=0;i Retour au Mode WYSIWYG";
 div_text_wysiwyg.style.display = 'none';
 div_text_wysiwyg.align = 'center';


 div_text_wysiwyg.style.position = "relative";


 
 parent.appendChild(div_text_wysiwyg);
 


 div_contener.appendChild(tab_tool);
 
 //crée la zone iframe
 div_zone = document.createElement("DIV");
 div_zone.setAttribute("name", div_name);
 div_zone.setAttribute("id", div_name);
 
 div_zone.style.width = document.getElementById(txt_zone).style.width;
 div_zone.style.height = document.getElementById(txt_zone).style.height;
 
 


 
 div_zone.style.position = "relative";
 div_zone.innerHTML = "
"+add_foot_tool('fontname',iframe_name,'font_list')+add_foot_tool('fontsize',iframe_name,'fontsize_list')+add_foot_tool('formatblock',iframe_name,'handing_list')+" Source HTML";
 
 div_contener.appendChild(div_zone);
 
 window.frames[iframe_name].document.designMode = 'On';


 document.getElementById(txt_zone).style.display='none';
 
 document.write("<style type="text/css"> div {background-color: #CCCCCC;border: 1px solid #333333;}</style>");


}


------------------------------------------------------------------------------------------------------------------------
excuser moi pour les images !!!
0
cs_neof1 Messages postés 1 Date d'inscription mardi 17 juin 2003 Statut Membre Dernière intervention 11 décembre 2006
11 déc. 2006 à 12:23
Peu etre ceci t'aidera impeu.
A tester sur IE

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans nom</title>


<SCRIPT TYPE="text/javascript" LANGUAGE="JavaScript">
function Cursor_AddTexte(where_, txt_){


  var Obj = document.getElementById( where_);
  if( Obj){
 
    Obj.focus();
    if( typeof Obj.selectionStart != "undefined"){
   
      var PosDeb  = Obj.selectionStart;
      var PosFin  = Obj.selectionEnd;
 
      var Chaine  = Obj.value;
      var HAvant = Chaine.substring( 0 , PosDeb);
      var HApres = Chaine.substring( PosFin, Obj.textLength );
   
      var HSelect = Chaine.substring( PosDeb, PosFin);
     
      Obj.value = HAvant + txt_ + HApres;
     
      Obj.setSelectionRange(  HAvant.length + txt_.length, HAvant.length + txt_.length );
    
      Obj.focus();
    }
    else{
     
      var HSelect = document.selection.createRange().text;
     
      if( HSelect.length > 0){
        var Chaine = document.selection.createRange();
        Chaine.text = txt_ ;
        Chaine.collapse();
        Chaine.select();
      }
      else{
        var Chaine = Obj.value;
        var HMark ="~~";
       
        var HTmp = document.selection.createRange().duplicate();
        HTmp.text = HMark;
       
        var PosDeb = Obj.value.search(HMark);
       
        var HAvant = Chaine.substring( 0 , PosDeb);
        var HApres = Chaine.substring( PosDeb, Obj.textLength );
       
        Obj.value = HAvant + txt_ + HSelect + HApres;
       
        PosDeb += txt_.length;
       
        PosDeb -= Get_NbrCR( HAvant);
       
        Chaine = Obj.createTextRange();
       
        Chaine.moveStart('character', PosDeb);
       
        Chaine.collapse();
        Chaine.select();
      }
    }
  }
}
function Fct_Btn3(){
  Cursor_AddTexte('T_MESS', document.getElementById('I_TXT3').value);
}
/*T_MESS défigne l'ID et le NAME qui doivent etre les meme
I_TST3 désigne l'ID et le NAME de l'inout qui contient le texte a ajouter.*/


</SCRIPT></head>

<TEXTAREA ID='T_MESS' NAME='T_MESS' COLS="40" ROWS="20">Bonjour</TEXTAREA>
        </TD>
        <TD CLASS="TXT" WIDTH="300" VALIGN="top" ALIGN="center" BGCOLOR="#B0C4DE">
       
       
       
Saisir du texte &agrave;&nbsp;ajouter...
       

       
       

       

</html>
0
Rejoignez-nous