(Tiempo estimado: 1 - 2 minutos)

Formación Joomla!Cuando estamos desarrollando una extensión para Joomla!, o modificando una existente, puede ocurrirnos, como me ha pasado a mi, que tengamos que validar con javacript un campo de textarea. Hasta aquí parece sencillo.

Pero, ¿Qué ocurre si tenemos un editor WYSIWYG como es JCE? Aquí la cosa cambia un poco y la validación hay que realizarla de otra manera..

 

1/ La manera normal

Tenemos un textarea con el nombre "contenido":

<textarea name="contenido"></textarea>

Para validar:

<script languaje=javascript>
function validar(){
if (document.miformulario.contenido.value.length==0) {
alert("textarea vacio");
return false;
} else
return true;
}
</script>

2/ Mediante getElementById

Tenemos un textarea con el nombre "contenido":

<textarea name="contenido" id="contenido"></textarea>

Para validar:

<script languaje=javascript>
function validar(){
var contenido_validar = document.getElementById("contenido");
if (contenido_validar.value.length==0) {
alert("textarea vacio");
return false;
} else
return true;
}
</script>

3/ Con JCE

JCE es un editor WYSIWYG para Joomla! muy completo y que recomiendo para utilizar en vuestro sitio web.

Lo que hace este editor, es ocultarnos nuestro campo textarea y añadir un iframe con un html que es precisamente el editor.

Editor JCE Joomla!

Por lo tanto, al hacer este procedimiento, no nos valen las anteriores funciones de validar que hemos explicado anteriormente.
Para poder acceder al contenido que estamos editando, tenemos que hacer lo siguiente:

<script languaje=javascript>
function validar(){
var mi_iframe = document.getElementById("id_del_iframe");
var contenido = mi_iframe.contentWindow.document.body.innerHTML;
if (contenido.length<=19) {
alert("textarea vacio");
return false;
} else
return true;
}
</script>

La pregunta ahora será la siguiente: ¿Por qué menos o igual que 19? Pues porque el editor JCE siempre tiene puesto un <br _mce_bogus="1"> por defecto, cuya longitud es 19.

Separador JCE Joomla!

Espero que esto le pueda venir bien a alguien.

Sobre el autor, Sergio Iglesias

Sergio Iglesias

Sergio Iglesias es formador, desarrollador y front-end del CMS Joomla!. A través de su blog y sus cursos puedes aprender a desarrollar tu propio portal web autogestionable.

 

¿Te ha gustado el artículo? ¡Suscríbete YA!

¿Necesitas un sitio web que funcione?

¿No quieres depender de nadie para gestionar tu página web?

Recibe contenido exclusivo y GRATIS mi curso sobre desarrollo de plantillas Joomla!


Me apunto ya!

Escribir un comentario

Puedes publicar el comentario que quieras, pero si lo considero SPAM será eliminado automáticamente.



Código de seguridad
Refescar

SergioIglesias.NET te informa que los datos de carácter personal que nos proporciones rellenando este formulario serán tratados por Sergio Iglesias Sánchez como responsable de esta web. La finalidad de la recogida y tratamiento de los datos personales que te solicitamos es, únicamente, para gestionar los comentarios de este blog. La legitimación se realiza a través del consentimiento del interesado. Te informamos que los datos que nos facilitas estarán ubicados en los servidores de SiteGround (proveedor de hosting). Ver política de privacidad de Siteground. El hecho de que no introduzcas los datos de carácter personal que aparecen en el formulario como obligatorios podrá tener como consecuencia que no pueda atender tu solicitud. Podrás ejercer tus derechos de acceso, rectificación, limitación y suprimir los datos en info@sergioiglesias.net así como el derecho a presentar una reclamación ante una autoridad de control. Puedes consultar la información adicional y detallada sobre Protección de Datos en mi política de privacidad.

¿Quieres tener un sitio web que funcione?

Contacta conmigo