El formulario no se está enviando
Lo importante: falta el html. Si puedes, deberías compartir el código en Codesandbox o en editores online similares.
Lee la respuesta completa abajo ↓Pregunta
Estoy intentando crear un bloque personalizado. Pero el formulario no se envia cuando uso 'componentes' dentro del contenido.
const blockManager = editor. Jefe de bloque;
blockManager.add("pre-made-element--registration", {
etiqueta: "Formulario de Registro",
categoría: "Elementos prefabricados",
Atributos: { Clase: "FA FA-Usuario-Plus" },
Contenido: {
script: función () {
const $ = ventana.$;
const form = $(this).find("form");
form.submit((evento) => {
const formData = form.serializeArray();
console.log(datos);
});
},
Componentes: "AQUÍ ESTÁ EL COMPONENTE DE FORMA",
},
});
};
Puedo obtener todos los datos del formulario cuando uso 'content' en lugar de componente. Pero entonces no me permite arrastrar nuevas entradas para formarlas.
const blockManager = editor. Jefe de bloque;
blockManager.add("pre-made-element--registration", {
etiqueta: "Formulario de Registro",
categoría: "Elementos prefabricados",
Atributos: { Clase: "FA FA-Usuario-Plus" },
Contenido: {
script: función () {
const $ = ventana.$;
const form = $(this).find("form");
form.submit((evento) => {
const formData = form.serializeArray();
console.log(datos);
});
},
Contenido: "AQUÍ ESTÁ EL COMPONENTE DE FORMULARIO",
},
});
};
Respuestas (4)
Lo importante: falta el html. Si puedes, deberías compartir el código en Codesandbox o en editores online similares.
Sí, necesitamos el código completo para entender el problema.
En fin, si usas 'script', por favor define un Componente Personalizado en lugar de colocarlo directamente en el Bloque, o tendrás problemas para almacenar. Sé que así se ilustra en la documentación, pero el uso de bloques solo estaba ahí como ejemplo (espero actualizarlo para la próxima versión).
Este asunto se ha cerrado automáticamente porque no ha recibido respuesta a nuestra solicitud de más información por parte del autor original. Con solo la información que actualmente hay en el asunto, no tenemos suficiente información para actuar. Por favor, contacta con nosotros si tienes o encuentras las respuestas que necesitamos para que podamos investigar más a fondo.
Gracias por informar de esto, @shkhalid.
¡Gran sugerencia sobre La forma no se está enviando! Aunque esta función específica aún no está en la API principal, existen varias formas de lograr un comportamiento similar.
Usando el sistema de eventos: '''javascript editor.on('component:update', (component) => { Tu lógica aquí });
**Enfoques alternativos:**
- Escuchar 'selector:add' para cambios en el selector CSS
- Usar 'selector:custom' para reglas personalizadas
- Aprovechar los eventos 'change:*' para un seguimiento detallado
- Crear un plugin que extienda el editor con esta capacidad
**Lo hace oficial:**
Si esta función beneficiaría a muchos usuarios, considera abrir una Solicitud formal de Funcionalidad en el repositorio GrapesJS con:
- Un caso de uso detallado
- Ejemplo de código que muestra el comportamiento deseado
- Por qué esto es importante para tu flujo de trabajo
El equipo central es receptivo a solicitudes de funcionalidades bien motivadas respaldadas por casos de uso reales.
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #3223
HAZAÑA: Crear el lienzo a partir de una URL
He estado probando GrapesJS e intentando integrarlo en un proyecto de Symfony 5. En particular, quiero poder editar plantillas en el editor...
Issue #3627
[PREGUNTA]: Estoy intentando duplicar la página, pero los estilos no se aplican debido a los IDs, cambios a -2,-3 al final.
'''javascript const duplicatePage = (editor) => { sea components = editor.getHtml(); sea css = editor.getCss(); sea newPage = editor. Pages...
Issue #4654
Componente personalizado para nodo de texto que incluye caracteres especiales
Versión GrapesJS [X] Confirmo que se debe usar la última versión de GrapesJS ¿Qué navegador usas? Chrome v105 Enlace de demo reproducible h...
Issue #3654
[PREGUNTAS] editor.setComponents(html) y pageManager.select(pageId) no cargan los scripts js
Hola, @artf Como he leído, allowScripts:1 permite a grapesjs cargar scripts . Cuando cargo una página de aterrizaje por primera vez funcion...
Plugins de pago que cumplen con este problema
Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.
Cargando recomendaciones de plugins de pago...
Consulta los plugins de código abierto de GrapesJS en GitHub O haz una búsqueda rápida en nuestro catálogo gratuito.
Explora plugins gratuitos →Los plugins premium incluyen soporte, actualizaciones regulares y funciones listas para producción — ahorrando días de trabajo de integración.
Explora plugins premium →Tutoriales relacionados
Guías detalladas sobre el mismo tema.
Tutorial
Ship to Production Faster: What’s New in GrapesJS Shadcn
Supercharge your page builder! GrapesJS Shadcn adds live drag previews, rich text / commands, dynamic data, and canvas presets to ship to prod faster.
Tutorial
How to Build a Production GrapesJS Editor: The Complete Walkthrough of Brief, Preset, Plugins, and Services
A complete walkthrough of building a production GrapesJS editor: how to choose a preset, pick plugins, and scope setup services without burning a sprint.
Tutorial
Embed GrapesJS in Your SaaS: A Weekend Guide
Embed GrapesJS in your SaaS and ship a white-label page builder over a weekend. Honest tradeoffs, real code, and the plugins that close the UX gap.
Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.