microTECHing
27Ene/110

Chronoforms. Error con la validación en Internet Explorer

Otra vez con un error que no hay manera de encontrar solución en Google.

Resulta que si tenemos un formulario con campos requeridos, el comportamiento normal, es que primero valide los campos, y si todo esta bien haga el submit, y sinó, que pinte los mensajes de error.

Pues resulta, que esto me funcionaba bien en FF y Chrome, pero no en IE (ni 7 ni 8), el cual, enviaba el formulario aunque estuviera vacío.

Después de mucho darle vueltas, hemos encontrado una solución que por lo menos en nuestro caso, funciona perfectamente.
Se trata de sustituir en el archivo '/components/com_chronocontact/js/livevalidation_standalone.js' la línea aprox. 409:

this.insertAfterWhatNode.parentNode.insertBefore(elementToInsert, this.insertAfterWhatNode.nextSibling);

Por:

this.insertAfterWhatNode.parentNode.appendChild(elementToInsert);

Pues nada. Si alguien traza mejor el problema y encuentra una solución mejor con el nodo 'this.insertAfterWhatNode.nextSibling' que no dude en comentarlo!
XD

25Ene/112

Chronoforms. Error con la validación de requerido de checkboxs

Puede que te encuentres con el problema de que al añadir un checkbox como por ejemplo, el típico de que 'Acepto la política de privacidad', que necesitas que sea necesario marcar para que se envie el formulario, nos encontremos con que el componente chronoforms, no lo hace.

Una posible alternativa (a falta de una solución oficial), es modificar el fichero '\components\com_chronocontact\js\jsvalidation2.js' en la linea 47, donde pone:

var myoptions = $(chronoformname).getInputsByName(elm.getProperty('name'));

ponemos:

var myoptions = document.getElementsByName("check00");

Donde "check00" (son ceros) es en nuestro caso el nombre del input del checkbox en questión.

Para saber el nombre y comprobar que se va a llamar a la función de validación, podemos ver el código generado por chronoforms en la administrador > 'Components' > 'Chronoforms' > 'Nombre del formulario de la lista' > 'Pestaña Form Code' > 'Desplegamos el Form Html'.

Entonces, buscamos nuestro checkbox en el código y comprobamos que lleve class="validate-one-required" y apuntamos el nombre.

Además, en el javascript que os comentaba, veréis que tenéis la posibilidad de traducir los mensajes de error al castellano. XD

Etiquetado con: 2 Comentarios
15Dic/1016

Problemas con el drag and drop de Chronoforms

Si veis que al coger los elementos de chronoforms para crear un formulario, y soltarlos, se quedan ahí sin que parezca que pase nada, probad a desinstalar el plugin "System - Mootools upgrade".

Resuelto? Espero que si.

Etiquetado con: 16 Comentarios