Ver Mensaje Individual
  #2 (permalink)  
Antiguo 13/06/2010, 15:07
Avatar de maycolalvarez
maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Editor WYSIWYG

aparte de que lo que haces no es un verdadero WYSIWYG (ya que estos como el FCK usa un iframe oculto), tienes muchos errores en el código, debes decidir si vas ha usar comillas dobles o simples para el HTML si no confundes el interprete, además estas haciendo referencia a objetos antes de que el DOM se carge, y aún más tienes id con el mismo nombre de las funciones.

he mejorado el código, aún así no veo que realice algo ¿?:

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3.  <head>
  4.   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  5.   <title>Editor WYSIWYG</title>
  6.   <script type="text/javascript">
  7.         var color ;
  8.         var colorAct ;
  9.         var fondo ;
  10.         var fondoAct ;
  11.         var tamano ;
  12.         var tamanoAct ;
  13.         var texto  ;
  14.         var vfinal  ;
  15.         var vistaPrevia ;
  16.         var previo ;
  17.  
  18.         function carga(){//para llamarla cuando el DOM se cargue
  19.             color = document.getElementById('color');
  20.             colorAct = color.value;
  21.             fondo = document.getElementById('fondo');
  22.             fondoAct = fondo.value;
  23.             tamano = document.getElementById('tamano');
  24.             tamanoAct = tamano.value;
  25.             texto  = document.getElementById('texto').value;
  26.             vfinal  = document.getElementById('textoFinal');
  27.             vistaPrevia = document.getElementById('vistaPrevia');
  28.             previo = document.getElementById('previa');
  29.         }
  30.  
  31.         function edit(){
  32.             vfinal.innerHTML = '<span style="color:' + color + '; background-color:' + fondo + '; font-size:' + tamano +';">' + texto + '</span>';
  33.         }  
  34.         function previaf(){
  35.             vistaPrevia.innerHTML = '<span style="color:' + color + '; background-color:' + fondo + '; font-size:' + tamano +';">' + texto + '</span>';
  36.             if(previo.checked==true){
  37.             vistaPrevia.style.display = 'block';
  38.             }else{
  39.             vistaPrevia.style.display = 'none';
  40.             }
  41.         }
  42.  
  43.  </head>
  44.  <body onload="carga();">
  45.   <form id="miForm" action="" method="post">
  46.    &nbsp;Color:<br />
  47.    <select id="color" onchange="previaf();">
  48.     <option value="#F00">Rojo</option>
  49.     <option value="#0F0">Verde</option>
  50.     <option value="#00F">Azul</option>
  51.     <option value="#FF0">Amarillo</option>
  52.     <option value="#F0F">Magenta</option>
  53.     <option value="#0FF">Cyan</option>
  54.    </select>
  55.    <br /><br />  
  56.    &nbsp;Fondo:<br />
  57.    <select id="fondo" onchange="previaf();">
  58.     <option value="#F00">Rojo</option>
  59.     <option value="#0F0">Verde</option>
  60.     <option value="#00F">Azul</option>
  61.     <option value="#FF0">Amarillo</option>
  62.     <option value="#F0F">Magenta</option>
  63.     <option value="#0FF">Cyan</option>  
  64.     <option value="#FFF">Blanco</option>
  65.     <option value="#000">Negro</option>
  66.    </select>
  67.    <br /><br />
  68.    &nbsp;Tamaño:<br />
  69.    <select id="tamano" onchange="previaf();">
  70.     <option value="14px">Pequeña</option>
  71.     <option value="20px">Mediana</option>
  72.     <option value="24px">Grande</option>
  73.    </select>
  74.    <br /><br />
  75. <!--un checkbox con el mismo nombre de la función previa ?-->
  76.    <input type="checkbox" id="previa" onclick="previaf();" />Vista previa
  77.    <br /><br />
  78.    <textarea id="texto" cols="20" rows="10" onkeyup="previaf();" onkeydown="previaf();"></textarea>
  79.    <br /><br />
  80.    <div id="vistaPrevia" style="display:none;"></div>
  81.    <input type="button" value="Obtener texto" onclick="edit();" />
  82.   </form>
  83.   <div id="textoFinal"></div>
  84.  </body>
  85. </html>