Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
|
controles:wform [25/02/2020 18:19] pedro |
controles:wform [26/03/2022 12:17] (actual) pedro [Ejemplo de uso] |
||
|---|---|---|---|
| Línea 8: | Línea 8: | ||
| 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 [[controles: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. | 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 [[controles: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 [[controles: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|oCGI:GetCGIValue]] con el parámetro **xdefault** con el valor que nos debe retornar en caso de que no venga. | + | El ultimo control de un Formulario provoca el submit al pulsar [Intro] tenga o no la propiedad lSubmit. |
| + | |||
| + | El Submit enviara al CGI un parámetro por cada control, siempre que tengan algún valor, por ejemplo los [[controles:wCheckBox]] si están a False no se envía ningún parámetro, por eso es muy practico utilizar le método [[ocgi:GetCGIValue|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|oCGI:GetCGIArray]]. | Los controles que permitan múltiples valores, retornaran un array por lo que es más apropiado tratarlos con [[ocgi:GetCGIArray|oCGI:GetCGIArray]]. | ||
| Línea 21: | Línea 23: | ||
| ===== Ejemplo de uso ===== | ===== Ejemplo de uso ===== | ||
| - | {{url>https://samples.nefele.dev/wform 100%,300px}} | + | {{url>https://samples.nefele.dev/wiki/wform 100%,320px}} |
| <Code:xailer linenums:1> | <Code:xailer linenums:1> | ||
| WITH OBJECT WBevel():New(:WO) | WITH OBJECT WBevel():New(:WO) | ||
| Línea 54: | Línea 56: | ||
| END WITH | END WITH | ||
| </Code> | </Code> | ||
| + | |||
| + | ===== Control de reenvió de formularios ===== | ||
| + | Para evitar que el usuario provoque el reenvío del formulario, porque de más de una vez al summit o porque de al botón atrás del navegador, hemos de habilitar la propiedad **lUniqueId** de forma que cada wForm se generará con un identificador único por cada llamada que se realice al CGI. | ||
| + | |||
| + | Luego en el Método de nuestro CGI que ha de procesar el summit del formulario, controlaremos la validez del identificador del wForm, para lo que utilizaremos la función [[funciones:nfl_ChkFormUID]] que nos retornara **.T.** o **.F.** dependiendo de si el identificador es valido o no. | ||
| ---- | ---- | ||
| Línea 63: | Línea 70: | ||
| |cFunction | | Función del CGI que sera llamada al hacer Submit del formulario | 0.1| | |cFunction | | Función del CGI que sera llamada al hacer Submit del formulario | 0.1| | ||
| |[[propiedades:aParams]] | {} | aParams que se añadirán al submit aparte del los input visibles | 0.1| | |[[propiedades: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| | + | |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| | |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| | + | |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| | |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| | + | |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| | + | |lNoAutoFocus | .f. | Deshabilita la asignación automática del Foco al primer control editable | 0.1| |
| + | |lUniqueId | .f. | Genera un código único para la llamada actual a este formulario para evitar la rellamada | 0.4| | ||