Issue #943💬 RespondidoAbierto el 9 de marzo de 2018por nojackoReacciones 0

El rasgo de casilla de verificación no elimina el atributo cuando está desmarcado

Respuesta rápidapor nojacko

@artf Gracias por la solución rápida, pero parece que no funciona. Tanto la inspección de la fuente de Grapes como la llamada 'getHtml()' devolven 'required="true"' y 'required="false"'. Supongo que porque el atributo es un valor booleano representado como una cadena. Lo haré cuando pueda, pero, por desgracia, tengo u...

Lee la respuesta completa abajo ↓

Pregunta

Cuando los atributos html son verdaderos o falsos, deberían existir o no existir.

Por ejemplo, 'obligatorio'. Esto no tiene valor en HTML5.

  • Válido (no requerido):'''<tipo de entrada="texto">'''
  • Válido (obligatorio): '''<tipo de entrada="texto" requerido>'''
  • Inválido (no requerido):'''<tipo de entrada="texto" requerido="falso">'''
  • Inválido (requerido):'''<tipo de entrada="texto" requerido="true">'''

Cuando el HTML Grapes se renderiza fuera de Grapes y se comprueba la entrada si es necesaria, esto falla porque Chrome siempre devuelve 'true' si se establece el atributo 'required'... independientemente del valor.

He estado investigando esto por mi cuenta, pero aún no lo he descubierto, aunque parece que Components necesita una función de 'removeAttribute' para gestionarlo.

Lo siento, pero tengo prisa, así que el lunes pondré el violín...

Respuestas (3)

nojacko12 de marzo de 2018

@artf Gracias por la solución rápida, pero parece que no funciona. Tanto la inspección de la fuente de Grapes como la llamada 'getHtml()' devolven 'required="true"' y 'required="false"'. Supongo que porque el atributo es un valor booleano representado como una cadena.

Lo haré cuando pueda, pero, por desgracia, tengo un calendario inusualmente ajustado para las normas del RGPD que se están entrando.

mikereem2 de mayo de 2019

Creo que el commit 9a71368 no es suficiente. Escribe atributos booleanos sin sus valores en la salida html sin problema. Pero cuando el editor lee la salida de nuevo, los atributos booleanos no se inicializan. Si el atributo booleano se muestra en el html (lo que significa que el valor es verdadero), entonces el editor inicializa este atributo con el valor: "" y no true.

Preguntas y respuestas relacionadas

Continúa investigando con debates sobre temas similares.

Plugins de pago que cumplen con este problema

Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.

Ver todos los plugins

Cargando recomendaciones de plugins de pago...

Opción gratuita

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 →
Opción premium

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.

Todos los tutoriales →

Explorar categorías de plugins

Ve directamente a las páginas de categorías de plugins en el marketplace.