Scriptaculous Ajax.InPlaceEditor no funciona con HTML
-
21-08-2019 - |
Pregunta
Estoy usando el Scriptaculous Ajax.InPlaceEditor para editar los datos de mi base de datos.
En realidad, funciona perfectamente en un primer momento, cuando no hay datos en la base de datos; Aquí es lo que tengo en mi navegador de código fuente:
<p id="edit" title="Click to edit" >
New text to edit here
</p>
Puedo crear un nuevo registro, automaticamente añadir un poco de HTML para cambiar el diseño, y cambiar una y otra vez sin ningún problema gracias a la Ajax.InPlaceEditor. En este momento, aquí es cómo se ve el código fuente:
<p id="edit" title="Click to edit" >
<ol>
<li>item1</li>
<li>item2</li>
</ol>
</p>
Ok, esto es simplemente perfecto. Y esto es perfecto también en la base de datos ...
Pero si vuelvo a cargar la página completa, entonces el valor inicial del párrafo editable es ahora HTML procedentes directamente de la base de datos, y aquí es lo que tengo en el código fuente:
<p id="edit" title="Click to edit"/>
<ol>
<li>item1</li>
<li>item2</li>
</ol>
Como se puede ver, el
se mysterously faltante, y el párrafo no se puede editar más ... Rich se dio cuenta de que el párrafo era en realidad de cierre automático ... También probé a configurar manualmente el texto HTML en la base de datos, y el resultado es el mismo: no se encuentra ...¿Tiene usted alguna idea de lo que está pasando, y cómo solucionarlo?
Muchas gracias ..
Solución
No se puede envolver en ol
s p
s. Es decir, el <ol>
cierra la div
antes de lo que piensas. Se sugiere emplear una intsead <=>.
Otros consejos
Si se asume que ha copiado el código HTML correctamente, la etiqueta p al final del bloque HTML original es superflua, ya que haya cerrado la etiqueta p en el primer bloque con la barra:
<p id="edit" title="Click to edit"/>
^closes the p tag
Asumo el editor "fija" HTML para quita la etiqueta de cierre final ya que el p etiqueta p se cerró antes de que comience la lista ordenada