ColdFusion - Pasar el valor de una caja de texto a una variable

 
Vista:

Pasar el valor de una caja de texto a una variable

Publicado por Erick Tena (3 intervenciones) el 20/07/2006 17:19:30
Hola, quiero pasar el valor que toma una caja de texto(input text) a una variable, pero yo en esa asignación, hago uso del DateForm y me pone un error, como que no reconoce al nombre de la caja de texto dentro de mi formulario.

Pongo aqui algo del codigo:

<input type="Text" name="inicio1" readonly size="10">
<a href="javascript:show_calendar('Dispo.inicio1',<cfoutput>#mes_actual#,#anio_actual#</cfoutput>,'DD/MMM/YYYY','POPUP','AppendOrReplace=Replace;AppendChar=\';\';CloseOnSelect=Yes;ReturnData=Date;InlineX=50;InlineY=50;Title=inicio1;AllowWeekends=Yes;Resizable=No;NSHierarchy=\'\'')"

onMouseOver="window.status='Muestra Calendario';return true;" onMouseOut="window.status='';return true;"><img src="file:///C|/Documents and Settings/rvelasco/Configuración local/Archivos temporales de Internet/OLK21B/fech_02.gif" width="28" height="20" align="ABSMIDDLE" border="0"></a> </td>

//// en las proximas lineas, lo que quiero hacer es que del primer calendario, la fecha que se selecciono que la dejo en el input text llamado "inicio1"... que de esa fecha me asigne el puro mes(mm) en la variable "mes_selec" y lo mismo para el año. Esto con la intención de cuando se de clic en el segundo calendario, este se abra en el mes y año seleccionado del primer calendario /////////////

<cfset mes_selec = DateFormat(#Dispo.inicio1#,"mm")> ////// el error me lo marca en esta linea ///////
<cfset anio_selec = DateFormat(#Dispo.inicio1#,"yyyy")>

<td height="52" width="136" bordercolor="#000000" nowrap>

<input type="Text" name="fin1" readonly size="10">

<a href="javascript:show_calendar('Dispo.fin1',<cfoutput>#mes_selec#,#anio_selec#</cfoutput>,'DD/MMM/YYYY','POPUP','AppendOrReplace=Replace;AppendChar=\';\';CloseOnSelect=Yes;ReturnData=Date;InlineX=50;InlineY=50;Title=fin1;AllowWeekends=Yes;Resizable=No;NSHierarchy=\'\'')"

///// y ya aqui al mostrar el calendario hago uso del "mes_selec" y "anio_selec".. mi form, se llama Dispo /////


Espero me puedan ayudar.
De antemano gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Obtener valor de caja de texto y asignarlo a variables para calendarios

Publicado por Alejandro (108 intervenciones) el 14/09/2023 16:16:18
El problema en tu código se debe al uso incorrecto de las etiquetas de ColdFusion (`<cfset>`) dentro del HTML y JavaScript. Para obtener el valor de la caja de texto llamada "inicio1" y asignarlo a las variables "mes_selec" y "anio_selec", debes hacerlo en el servidor antes de que se genere la página HTML que contiene el JavaScript.

Aquí tienes una forma de hacerlo correctamente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<cfset mes_selec = "" />
<cfset anio_selec = "" />
 
<cfif IsDefined("Form.inicio1")>
    <cfset fecha_seleccionada = Form.inicio1>
    <cfset mes_selec = DateFormat(fecha_seleccionada, "mm")>
    <cfset anio_selec = DateFormat(fecha_seleccionada, "yyyy")>
</cfif>
 
<input type="Text" name="inicio1" readonly size="10">
<a href="javascript:show_calendar('Dispo.inicio1',<cfoutput>#mes_actual#,#anio_actual#</cfoutput>,'DD/MMM/YYYY','POPUP','AppendOrReplace=Replace;AppendChar=\';\';CloseOnSelect=Yes;ReturnData=Date;InlineX=50;InlineY=50;Title=inicio1;AllowWeekends=Yes;Resizable=No;NSHierarchy=\'\'')"
 
onMouseOver="window.status='Muestra Calendario';return true;" onMouseOut="window.status='';return true;"><img src="file:///C|/Documents and Settings/rvelasco/Configuración local/Archivos temporales de Internet/OLK21B/fech_02.gif" width="28" height="20" align="ABSMIDDLE" border="0"></a> </td>
 
<td height="52" width="136" bordercolor="#000000" nowrap>
 
<input type="Text" name="fin1" readonly size="10">
 
<a href="javascript:show_calendar('Dispo.fin1',<cfoutput>#mes_selec#,#anio_selec#</cfoutput>,'DD/MMM/YYYY','POPUP','AppendOrReplace=Replace;AppendChar=\';\';CloseOnSelect=Yes;ReturnData=Date;InlineX=50;InlineY=50;Title=fin1;AllowWeekends=Yes;Resizable=No;NSHierarchy=\'\'')">
<!-- Tu código JavaScript para abrir el calendario -->
</a>

En este código:

1. Primero, se verifica si la variable "Form.inicio1" está definida (es decir, si el formulario ha sido enviado y el valor de "inicio1" está presente).

2. Si la variable está definida, se asigna su valor a la variable "fecha_seleccionada".

3. Luego, se utiliza la función `DateFormat` para obtener el mes y el año de "fecha_seleccionada" y se almacenan en las variables "mes_selec" y "anio_selec".

De esta manera, puedes obtener el valor de la caja de texto "inicio1" en el servidor y luego utilizarlo en el JavaScript para abrir el segundo calendario en el mes y año correspondientes.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar