19 junio 2012

Funcionalidad No Documentada de ColdFusion 10: Arreglos de Form Fields

El artículo original se lo leí a Raymond Camden.
Lo normal cuando se hace submit de un form en ColdFusion, el request que recibe el form scope, lo recibe como una estructura donde el FIELDNAME es el nombre del campo en el formulario, y NAME son los valores, separados con coma, digitados para ese campo.   El conflicto se hace cuando hay varios campos en el formulario que tienen el mismo nombre.  Tenemos casos como este:


<cfdump var="#form#"> <form method="post"> <input type="text" name="name"> <input type="text" name="name"> <input type="submit"> </form>


El ejemplo de Ray Camden dice:
Esto es lo que se recibe en la estructura si en un campo digitan RAY y en el otro CAMDEN.
Pero cómo interpretar si lo que se recibe es:
Qué es lo que digitó el usuario?.  Digitó CAMDEN,RAY en un campo y FOO en otro ?.. o digitó CAMDEN en uno y RAY,FOO en otro ?
Si por la razón que sea, no se nos permite utilizar distintos nombres de campo para cada entrada, entonces ColdFusion 10 ofrece una solución muy sencilla:
En el application.cfc incluimos
this.sameformfieldsasarray=true;
de aquí en adelante, un submit con el anterior nos retornará, en la estructura bajo NAME, un arreglo con todos los valores digitados.  
No lo he probado.. por favor me cuentan como les va.  

1 comentario: