es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

tinyMCE – prevenir el uso del id original como nombre / instancias múltiples en una misma página

Durante la inicialización de tinyMCE, ¿puedo evitar que utilice el id original como el name en el input que crea?

Necesito usar varias instancias de tinyMCE en una sola página (estoy cargando formularios de edición separados mediante parciales en un despliegue Ruby on Rails). Tengo múltiples formularios, cada uno con un input de article[title] y article[body]. Si les doy un id único, entonces tinyMCE funciona correctamente (es decir, article-title-2, donde 2 es el id activerecord único). Si intento seleccionar los elementos usando atributos únicos que no sean el id, entonces no carga los inputs de tinyMCE después del primer campo.

tinyMCE.init({
  selector: '#article-title-<%= @article.id %>',
  ...
  ...
}

El problema es que al enviar el formulario, el id se ha utilizado como atributo name, impidiendo que RoR reconozca el campo como un atributo de un artículo. Envía:

"article-title-2" => "texto del título" 

En lugar de:

"article" => { "title" => "texto del título"}

Gracias a todos por su ayuda.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para evitar que tinymce utilice la entrada original id como name en la entrada que crea durante la inicialización, puede utilizar la opción inline establecida en true. Esto creará un elemento div para el elemento editable en lugar de un iframe y no usará el id como atributo name.

    Ejemplo:

    tinyMCE.init({
      selector: '#article-title-<%= @article.id %>',
      inline: true,
      ...
      ...
    });
    

    De esta manera, puede utilizar atributos únicos que no sean id para seleccionar los elementos sin problemas de envío.

Comments are closed.