wForm

El control wForm es el contenedor estándar para el tratamiento de formularios, equivale a <form></form> de HTML.

Puede contener cualquier control de edición de datos, para una vez realizado el submit enviar el valor de todos los controles a nuestro CGI para poder tratarlos.

Para realizar en envió (submit) sera necesario añadir un wButton con la propiedad lSubmit a .T., solo puede existir un botón submit en cada formulario, también podemos asignarle la funcionalidad submit a un wEdit que este en el formulario.

Normalmente en los formularios HTML cuando en un campo de texto pulsamos [Intro] se ejecuta el submit de dicho formulario. En Néfele, al pulsar [Intro] pasamos el foco al siguiente control, excepto que dicho wEdit tenga su propiedad lSubmit a .T., asignándola directamente o utilizando el método :SetSubmit(), en ese caso se ejecutaría el submit del formulario al pulsar [Intro] en dicho control.

El Submit enviara al CGI un parámetro por cada control, siempre que tengan algún valor, por ejemplo los wCheck si están a False no se envía ningún parámetro, por eso es muy practico utilizar le método oCGI:GetCGIValue con el parámetro xdefault con el valor que nos debe retornar en caso de que no venga.

Los controles que permitan múltiples valores, retornaran un array por lo que es más apropiado tratarlos con oCGI:GetCGIArray.

En HTML los controles que estén disabled, por defecto no se envían en el submit, tengan o no valor. En Néfele si tiene valor se tratan como al resto de controles.

Por defecto se le asigna el foco al primer control del Formulario que permita edición, si queremos que sea otro deberemos indicarlo en la propiedad lAutoFocus de dicho control, y habilitar la propiedad lNoAutoFocus del Formulario.

Cuando en el formulario se utilicen controles que necesiten enviar algo más que texto, sera necesario habilitar la propiedad lFormData del formulario, si los controles que lo necesitan son de Néfele no sera necesario hacerlo ya que ellos mismo lo asignaran si es necesario.

Ejemplo de uso

Propiedades

Nombre	Init	Descripción	Versión
cClassId	frm	0.1
cFunction	Función del CGI que sera llamada al hacer Submit del formulario	0.1
aParams	{}	aParams que se añadirán al submit aparte del los input visibles	0.1
lAutoComplete	.T.	Habilita o no el Autocompletado de los campos por el Navegador	0.1
cMethod	POST	Método de envió de los datos del formulario (POST o GET)	0.1
lFormData	.F.	Habilita el envió de ficheros adjuntos	0.1
cFormAction	URL a la que se envían los datos del formulario, si es vació se envían al mismo CGI	0.1
lNoValidate	.F.	Evita que se validen los campos del formulario	0.1
lNoAutoFocus	.F.	Deshabilita la asignación automática del Foco al primer control editable	0.1

Hereda de...

wControl

Propiedades

Nombre	Init	Descripción	Versión
cClassId	Identificador del control para generar el Id	0.1
cId	Nil	Identificador único para cada Control	0.1
oParent	Control contenedor	0.1
oHtml	Objeto de la clase wHtml con el código para su renderizado	0.1
oStyle	Objeto de la clase wStyle con las variantes de estilo	0.1
lEnabled	.t.	El control aparece Habilitado o Inhabilitado	0.1
lHide	.f.	El control aparece Oculto o Visible	0.1
aWidth	{12,,,}	Ancho del control según el tamaño de la pantalla	0.1
aOffset	{,,,}	Margen izquierdo según el tamaño de la pantalla	0.1
cClrText	black	Color de Texto	0.1
cClrPane	white	Color del Fondo	0.1

Métodos

Nombre	Descripción	Versión
Create	Este es el método que crea cada uno de los controles, esta desarrollado en cada Control	0.1
FullHtml	Nos devuelve una cadena con todo el código HTML y JS necesario para crear el control	0.1
LogDebug	Nos Añade un mensaje a la consola del navegador cuando estamos en modo Debugger	0.1
Assert	Nos Añade un comentario en el HTML cuando estamos en modo Debugger	0.1
AddHTML	Nos Añade código HTML dentro del control	0.1
AddParam	Añade un parámetro a la propiedad aParams, hay que pasarle un array {“nombre”,“valor”}	0.2