Foros del Web » Programando para Internet » Javascript »

value Iframe

Estas en el tema de value Iframe en el foro de Javascript en Foros del Web. hola no se si lo que quiero hacer es posible, ni estoy segura si este tema debería ir aquí pero no se donde preguntar.Posible debe ...
  #1 (permalink)  
Antiguo 13/03/2012, 11:41
 
Fecha de Ingreso: agosto-2011
Ubicación: barcelona
Mensajes: 237
Antigüedad: 12 años, 8 meses
Puntos: 1
value Iframe

hola no se si lo que quiero hacer es posible, ni estoy segura si este tema debería ir aquí pero no se donde preguntar.Posible debe ser pero no se si de la manera que digo.

El caso es que tengo un editor de texto para editar un comentario de mi web que se guarda en una base de datos, y me gustaría que cuando hay un dato guardado en el registro y alguien accede al editor de texto este dato que sera un texto aparezca en lo que es el iframe donde se edita el texto para después guardarlo en el registro de la base de datos, es decir si hay ya un registro y alguien quiere volver a editarlo que lo pueda ver en el editor para posterior modificarlo y volverlo aguardar. he intentado dándole la propiedad de value al iframe poniendo dentro de value el registro de la base de datos pero no funciona.

no se quizas sea por la parte de javascript dándole valor a lo que se llama textEditor que es el id que después se le da al iframe para editar el texto, no se si me explico bien pongo el código de la pagina para ver si alguien puede darme una idea.

Código HTML:
Ver original
  1. <script language="javascript">
  2.  
  3. function setHidden()
  4. {
  5. var frameContent=textEditor.document.body.innerHTML;
  6. document.getElementById('comentario1').value=frameContent;
  7. }
  8.  
  9.  
  10. <!--
  11. function def()
  12. {
  13. var testframe = document.createElement("iframe");
  14. testframe.name = testframe.id = "textEditor";
  15.  
  16.  
  17. if (testframe.addEventListener){
  18. testframe.addEventListener("load",function(e){this.contentWindow.document.designMode = "on";}, false);
  19. } else if (testframe.attachEvent){
  20. testframe.attachEvent("load", function(e){this.contentWindow.document.designMode = "on";});
  21. }
  22.  
  23.  
  24.  
  25. textEditor.document.designMode="on";
  26. textEditor.document.open();
  27. textEditor.document.write('<head><style type="text/css">body{ font-family:arial; font-size:25px; }</style> </head>');//esta linea nos da el estilo con el que escribimos dentro del iframe demomento solo se eso
  28. textEditor.document.close();
  29. textEditor.focus();
  30.  
  31.  
  32.  
  33. }
  34. function fontEdit(x,y)
  35. {
  36. textEditor.document.execCommand(x,"",y);
  37. textEditor.focus();
  38. }
  39. -->
  40. </head>
  41. <body onLoad="def()" ><center>
  42.  
  43. <div style="width:500px; text-align:left;  margin-bottom:10px ">
  44. <input type="button" id="bold" style="height:21px; width:21px; font-weight:bold;" value="B" onClick="fontEdit('bold')" />
  45. <input type="button" id="italic" style="height:21px; width:21px; font-style:italic;" value="I" onClick="fontEdit('italic')" />
  46. <input type="button" id="underline" style="height:21px; width:21px; text-decoration:underline;" value="U" onClick="fontEdit('underline')" />
  47. <input type="button" style="height:21px; width:21px;"value="L" onClick="fontEdit('justifyleft')" title="align left" />
  48. <input type="button" style="height:21px; width:21px;"value="C" onClick="fontEdit('justifycenter')" title="center" />
  49. <input type="button" style="height:21px; width:21px;"value="R" onClick="fontEdit('justifyright')" title="align right" />
  50. <select id="fonts" onChange="fontEdit('fontname',this[this.selectedIndex].value)">
  51. <option value="Arial">Arial</option>
  52. <option value="Comic Sans MS">Comic Sans MS</option>
  53. <option value="Courier New">Courier New</option>
  54. <option value="Monotype Corsiva">Monotype</option>
  55. <option value="Tahoma">Tahoma</option>
  56. <option value="Times">Times</option>
  57.  
  58. <select id="size" onChange="fontEdit('fontsize',this[this.selectedIndex].value)">
  59. <option value="1">1</option>
  60. <option value="2">2</option>
  61. <option value="3">3</option>
  62. <option value="4">4</option>
  63. <option value="5">5</option>
  64. <option value="6">6</option>
  65. <option value="7">7</option>
  66.  
  67.  
  68.  
  69. <select id="color" onChange="fontEdit('ForeColor',this[this.selectedIndex].value)">
  70. <option style="color:red;" value="red">rojo</option>
  71. <option value="black">negro</option>
  72. <option style="color:blue;" value="blue">azul</option>
  73. <option style="color:green;" value="green">verde</option>
  74. <option style="color:pink;" value="pink">rosa</option>
  75. <option style="color:yellow;" value="yellow">amarillo</option>
  76. <option style="color:white;" value="white">blanco</option>
  77. <option style="color:brown;" value="brown">marron</option>
  78. <option style="color:grey;" value="grey">gris</option>
  79. <option style="color:orange;" value="orange">naranja</option>
  80. </select>
  81. <input type="button" style="height:21px; width:21px;"value="1" onClick="fontEdit('insertorderedlist')" title="Numbered List" />
  82. <input type="button" style="height:21px; width:21px;"value="•" onClick="fontEdit('insertunorderedlist')" title="Bullets List" />
  83. <input type="button" style="height:21px; width:21px;"value="&laquo;" onClick="fontEdit('outdent')" title="Outdent" />
  84. <input type="button" style="height:21px; width:21px;"value="&raquo;" onClick="fontEdit('indent')" title="Indent" />
  85. </div>
  86. <form action="accesocomentario1.php" method="post" onSubmit="setHidden()">
  87.   <input type="hidden" name="comentario1" id="comentario1"  />
  88.   <input type="hidden" name="web" id="web" value="<?php echo $_SESSION['MM_Username']; ?>"/>
  89. <input type="submit" value="submit" />
  90. </form>
  91.  
  92. <iframe id="textEditor" style="width:450px; height:160px; background-color:#FFF;" frameborder="1"  >
  93. </iframe>
  94.  
  95. </center>
  96.  
  97.  
  98. </body>
  99. </html>
  100. <?php
  101. mysql_free_result($textostienda);
  102. ?>

gracias por este foro
  #2 (permalink)  
Antiguo 13/03/2012, 11:58
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: value Iframe

Nuevamente, es tema de javascript, no de php.
La mecánica sería así: con php lees la bd, si ya hay datos, creas en el html de salida una variable en js que contenga el texto de la bd, y en js después de convertir el iframe en editable le colocas el texto de la variable, o incluso puede ser directamente, algo así como

function def()
{
var testframe = document.createElement("iframe");
testframe.name = testframe.id = "textEditor";


if (testframe.addEventListener){
testframe.addEventListener("load",function(e){this .contentWindow.document.designMode = "on";}, false);
} else if (testframe.attachEvent){
testframe.attachEvent("load", function(e){this.contentWindow.document.designMode = "on";});

<?php
$contenido=mysql_fetch_assoc(mysql_query("select contenido from tabla"));
echo this.contentWindow.document.innerHTML='$contenido' ;
?>
}

Claro que tendrás que ver la forma de escapar el texto en caso de contener comillas, entre otras cosas.
  #3 (permalink)  
Antiguo 13/03/2012, 12:07
 
Fecha de Ingreso: agosto-2011
Ubicación: barcelona
Mensajes: 237
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: value Iframe

ocp001a vale el php que has puesto lo entiendo creas una variable con el contenido del registro de la bd pero como le pasas ese valor de la variable al iframe , y a la ultima linea que has puesto sobre las comillas a que te refieres ?

perdona que te pregunte es que no quiero liarla y después empezar a tener problemas con este editor que ya de por si me da problemillas al copiar texto cuando copio y pego en el, pero bueno poco a poco.
  #4 (permalink)  
Antiguo 13/03/2012, 12:28
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: value Iframe

En la linea
echo "this.contentWindow.document.innerHTML='$conte nido[contenido]' ";//(le hice una pequeña corrección)

php escribiría en el html una instrucción javascript que colocaría el contenido de la bd en el iframe.



Lo de las comillas es por lo siguiente: imagina que un usuario escribe comillas (dobles o sencillas) y lo guardas en la bd. Al recuperar el texto y querer colocarlo como código de javascript, las comillas pueden crear conflicto:

$texto="El camello 'azul' ";
//al colocar:
echo "this.contentWindow.document.innerHTML='$conte nido[contenido]' ";

en el html quedaría así:

echo "this.contentWindow.document.innerHTML='El camello 'azul' ' ";

Como verás, quedan apostrofes dentro de apostrofes, causando un conflicto, debería quedar
echo "this.contentWindow.document.innerHTML='El camello \'azul\' ' ";
  #5 (permalink)  
Antiguo 13/03/2012, 12:45
 
Fecha de Ingreso: agosto-2011
Ubicación: barcelona
Mensajes: 237
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: value Iframe

voy aprobar después te explico , gracias otra vez te debo unas 10 :)

Etiquetas: html, iframe, mysql, registro
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:45.