Foros del Web » Programación para mayores de 30 ;) » .NET »

Regresar la fecha de un calendario (popup)

Estas en el tema de Regresar la fecha de un calendario (popup) en el foro de .NET en Foros del Web. En vista de que varias veces preguntan como abrir un calendario y regresar la fecha en un texto box, aqui les pongo un ejemplo. Debes ...
  #1 (permalink)  
Antiguo 03/03/2005, 09:53
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
De acuerdo Regresar la fecha de un calendario (popup)

En vista de que varias veces preguntan como abrir un calendario y regresar la fecha en un texto box, aqui les pongo un ejemplo.

Debes tener 2 página, la principal y la popup (calendario)

En la página principal tendrías un texto box para regresar la fecha y un link común y corriente para abrir la popup, Ejemplo:

Cita:
<asp:TextBox id="txtDate1" runat="server"></asp:TextBox>
<a href="#" onclick="openCalendar('txtDate1');">Calendario</a>
Y en los headers de mi página pondría algo así:

Cita:
<HTML>
<HEAD>
<script language="javascript">
function openCalendar(obj)
{
var url = 'popupCalendar.aspx?textbox=' + obj;
window.open(url,'cal','width=205,height=145,left=3 70,top=280,resizable=0,scrollbars=0');
}
</script>
</HEAD>
<body>
....
..
Y en mi pagina llamada popupCalenar.aspx, en el html tendría (ejemplo)

Cita:
<asp:calendar id="Calendar1" runat="server" BorderStyle="Solid" NextPrevFormat="ShortMonth" BackColor="White"
Width="8px" ForeColor="Black" CellSpacing="1" Height="64px" Font-Size="7pt" Font-Names="Verdana"
BorderColor="Black">
<TodayDayStyle ForeColor="White" BackColor="#999999"></TodayDayStyle>
<DayStyle BackColor="#CCCCCC"></DayStyle>
<NextPrevStyle Font-Size="8pt" Font-Bold="True" ForeColor="White"></NextPrevStyle>
<DayHeaderStyle Font-Size="8pt" Font-Bold="True" Height="8pt" ForeColor="#333333"></DayHeaderStyle>
<SelectedDayStyle ForeColor="White" BackColor="#333399"></SelectedDayStyle>
<TitleStyle Font-Size="9pt" Font-Bold="True" Height="12pt" ForeColor="White" BackColor="#C00000"></TitleStyle>
<OtherMonthDayStyle Font-Size="7pt" ForeColor="#999999"></OtherMonthDayStyle>
</asp:calendar>
Y en el codebehind en el evento SelectionChanged tendría algo así:

Cita:
vb.net
Private Sub Calendar1_SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Calendar1.SelectionChanged
Dim obj As String = Request.QueryString("textbox")
If Not obj Is Nothing Then
Dim strScript As String = "<script>window.opener.document.getElementById ('" + obj + "').value = '"
strScript += Calendar1.SelectedDate.ToString("dd/MM/yyyy")
strScript += "';self.close()"
strScript += "</" + "script>"
RegisterClientScriptBlock("Calendar_ChangeDate", strScript)
End If
End Sub

c#

private void Calendar1_SelectionChanged(object sender, System.EventArgs e)
{
string obj = Request.QueryString["textbox"];
if (obj != null)
{
string strScript = "<script>window.opener.document.getElementById ('" + obj + "').value = '" + Calendar1.SelectedDate.ToString("dd/MM/yyyy") + "';self.close()" +
"</" + "script>";
RegisterClientScriptBlock("Calendar_ChangeDate",st rScript);

}
}
Y listo, , al dar click sobre cualquier día regresaré a mi textbox la fecha seleccionada.

Solo hagan copy and paste del code, no hay que modificar nada, ya depende de ustedes adecuarlo a sus necesidades.

Saludos y cualquier duda o comentario sera bienvenido..
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #2 (permalink)  
Antiguo 03/03/2005, 10:05
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 21 años, 11 meses
Puntos: 7
Por si acaso, aca en http://javascript.internet.com/calendars/ hay varios ejemplos de calendarios con JS por si el objeto Calendar no es suficiente...
  #3 (permalink)  
Antiguo 03/03/2005, 11:36
 
Fecha de Ingreso: marzo-2005
Mensajes: 122
Antigüedad: 19 años, 1 mes
Puntos: 0
calendario

Perfecto, muchas gracias, pero una duda que no me supieron resolver en el foro. Si en vez de un enlace simple quiero llamar al calendario con un botón asp como hago?
Es por la estética. Mejor que un texto con un enlace queda mejor un botón o una imagen.

Un Saludo

Y muxxas Gracias


Cita:
Iniciado por RootK
En vista de que varias veces preguntan como abrir un calendario y regresar la fecha en un texto box, aqui les pongo un ejemplo.

Debes tener 2 página, la principal y la popup (calendario)

En la página principal tendrías un texto box para regresar la fecha y un link común y corriente para abrir la popup, Ejemplo:



Y en los headers de mi página pondría algo así:



Y en mi pagina llamada popupCalenar.aspx, en el html tendría (ejemplo)



Y en el codebehind en el evento SelectionChanged tendría algo así:



Y listo, , al dar click sobre cualquier día regresaré a mi textbox la fecha seleccionada.

Solo hagan copy and paste del code, no hay que modificar nada, ya depende de ustedes adecuarlo a sus necesidades.

Saludos y cualquier duda o comentario sera bienvenido..
  #4 (permalink)  
Antiguo 03/03/2005, 14:56
Avatar de Rony J.  
Fecha de Ingreso: noviembre-2004
Ubicación: Maracay - Vzla
Mensajes: 223
Antigüedad: 19 años, 5 meses
Puntos: 0
Pos lo mismo:

<a href="#" onclick="openCalendar('txtDate1');">Calendario</a>

dentro de la etiqueta del boton colocas: onclick="openCalendar('txtDate1');"
__________________
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas. Albert Einstein
  #5 (permalink)  
Antiguo 03/03/2005, 15:05
Avatar de RicaJ0625  
Fecha de Ingreso: noviembre-2004
Ubicación: La Chorrera, Panamá
Mensajes: 86
Antigüedad: 19 años, 5 meses
Puntos: 0
RJS.PopCalendar 3.0 (3.0.1)

Aqui les tengo mi Control: RJS.PopCalendar 3.0 (3.0.1)

El Control es un Calendario y lo tengo publicado en GotDotNet

La ruta es http://code.msdn.microsoft.com/RJSPopCalendar

En el hay dos ejemplos de su uso (VB.NET y C#)

Utiliza el Culture para definir el idioma, (Culturas no Soportadas: ar-SA, th-TH, div-MV), usa rangos de fechas, valida las fechas usando el teclado, puede deshabilitar la selección de día feriados y fines de semana, calcula Martes de Carnaval y Viernes Santo. (Dos fechas importantes para planificar las vacaciones), soporta Fecha Requerida, Corre utilizando el SmartNavigation, Implementa IntelliSense Support (HTML), dibuja una Sombra, utiliza CSS para cambiar la apariencia, usa un efecto de despliegue (IE Solamente), puede ser movido (IE Solamente), se mantiene encima de los Selects y Applets y es mucho más rápido porque todo lo hace en el cliente. También puede hacer POSTBACK si se desea.

Utiliza el Visual Studio .NET Designer Support.

Compatible con Opera 7.21+, Netscapte 7+, Mozilla 1.4+, Mozilla FirexFox y IE5.5+.

Ejemplo:
Código:
<rjs:popcalendar 
     id="PopCalendar1" 
     runat="server" 
     Culture="es-PA Spanish (Panama)"
     style="Z-INDEX: 115; LEFT: 443px; POSITION: absolute; TOP: 132px"
     Control="txtRange"
     TodayText="Hoy es [Today]"
     SelectDateText="Seleccionar [Date]"
     RequiredDate="True" 
     RequiredDateMessage="La Fecha es Requerida"
     From-Control="txtFrom"
     From-Message="Fuera de Rango"
     To-Control="txtTo" 
     To-Message="Fuera de Rango"
     InvalidDateMessage="Día Invalido"
     HolidayMessage="No puede Seleccionar Días Feriados"
     WeekendMessage="No puede Seleccionar Fines de Semana"
     ToolTip="Seleccione una Fecha. Formato: ([Format])">
     SelectHoliday="False"
     SelectWeekend="False" 
     ShowGoodFriday="Holiday" 
     GoodFridayText="Viernes Santo" 
     ShowCarnival="Holiday" 
     CarnivalText="Carnaval" 
     Shadow="True" 
     ShowWeekend="True" 
     Move="True" 
     Format="dd mmmm yyyy"
     Separator="/" 
     Fade="0.5" 
     MessageAlignment="RightCalendarControl"
</rjs:popcalendar>

Última edición por RicaJ0625; 23/02/2008 a las 11:18
  #6 (permalink)  
Antiguo 04/03/2005, 03:03
 
Fecha de Ingreso: marzo-2005
Mensajes: 122
Antigüedad: 19 años, 1 mes
Puntos: 0
calendario

Muchas gracias a todos.
  #7 (permalink)  
Antiguo 30/03/2005, 12:55
 
Fecha de Ingreso: marzo-2005
Mensajes: 1
Antigüedad: 19 años
Puntos: 0
hola Rootk

En tu codigo de Regresar la fecha de un calendario (popup) ya hice todos los pasos que describes alli solo que tengo un error al compilarlo el error me lo envia en "RegisterClientScriptBlock" dice que no existe dentro de la clase textualmente dice "The name 'RegisterClientScriptBlock' does not exist in the class or namespace 'PortalApplication1.PortalComponent1'" esto es en el codigo c#.

A que se debera...? de hecho estoy haciendo esto porque estoy usando Visual Studio .Net PDK ya que en el "PortalApplication" no puedo usar el form ya que se me bloquea todo el poryecto y como si no funcionara.

Gracias por tu ayuda!!!!
  #8 (permalink)  
Antiguo 31/10/2005, 13:43
 
Fecha de Ingreso: abril-2005
Ubicación: GUANAJUATO,MEXICO
Mensajes: 216
Antigüedad: 19 años
Puntos: 0
ami me marca el mismo erro, pero yo lo estoy haciendo en viasula studio 2005 en la version beta2
  #9 (permalink)  
Antiguo 06/06/2006, 15:15
 
Fecha de Ingreso: junio-2006
Mensajes: 3
Antigüedad: 17 años, 10 meses
Puntos: 0
Pregunta Calendario Pop Up

Hola a todos. Soy nuevo en este foro. Trato de desarrollar una aplicacion web en VB.net utilizando este control calendario como un pop up. Funciona pero dentro de un proyeto nuevo como paginas aspx normal, pero cuando quiero trabajarlo con una Master Page, el calendario no me retorna ningun dato a mi pagina principal. Aunque el JavaScript funciona perfectamente y la ventana emergente se abre, cuando clickeo una fecha, no pasa nada, se supone que deberia devolverme la fecha a una caja de texto y cerrar mi pop up.. pero no lo hace. Alguien puede ayudarme diciendome como trabajarlo con los Master Page???????
  #10 (permalink)  
Antiguo 06/06/2006, 15:33
 
Fecha de Ingreso: junio-2006
Mensajes: 3
Antigüedad: 17 años, 10 meses
Puntos: 0
Tu codigo funciona perfectamente. Pero cuando lo quiero trabajar dentro de una master page no me devuelve la fecha seleccionada. Podrias ayudarme con una solucion a esto por favor??? Necesito que mis dos paginas sean trabajadas con una Master Page, o no importa si es solo la principal la que esta trabajando bajo la Master?
  #11 (permalink)  
Antiguo 27/10/2006, 13:51
 
Fecha de Ingreso: abril-2006
Mensajes: 5
Antigüedad: 18 años
Puntos: 0
Hola a todos! para los que andemos buscando como locos la solución a esta inquietud(Calendar PopUp + MasterPages), la solución es la siguiente:
<img src="imagenes/calendar.gif" alt="Calendario" width="16" height="16" id="imgCalendario" onclick="window.open('Calendario.aspx?input=ctl00_ nombreContentPlaceHolder_nombreTextbox','Calendari o','resizable=yes,toolbar=no,menubar=no,location=n o,status=no,width=200,height=200');">
o lo que es lo mismo pero usando el codigo posteado:
<a href="#" onclick="openCalendar('ctl00_nombreContentPlaceHol der_txtDate1');">
deben colocar el nombre del contentplaceholder antes del textbox al que hacen referencia y listo..

Saludos..
  #12 (permalink)  
Antiguo 02/11/2006, 07:28
 
Fecha de Ingreso: junio-2006
Mensajes: 3
Antigüedad: 17 años, 10 meses
Puntos: 0
De acuerdo Gracias

OYE BSOSF. AGRADEZCO MUCHO TU COLABORACION. PROBARE CON LA AYUDA QUE ME BRINDASTE. QUE ESTEN MUY BIEN.
  #13 (permalink)  
Antiguo 14/11/2006, 13:01
 
Fecha de Ingreso: septiembre-2006
Mensajes: 1
Antigüedad: 17 años, 7 meses
Puntos: 0
hola
gracias Che !!
Pero, como hago q window.open sea modal y quedaria barbaro ?
  #14 (permalink)  
Antiguo 18/11/2006, 16:48
Avatar de splinter  
Fecha de Ingreso: junio-2004
Ubicación: Misantla,Ver.Mexico
Mensajes: 181
Antigüedad: 19 años, 9 meses
Puntos: 0
El Calendario de RicaJ0625 funciona muy bien con 2003 y 2005 , son muy
faciles de implementar y con buenos resultados

Saludos
  #15 (permalink)  
Antiguo 12/12/2006, 08:29
 
Fecha de Ingreso: octubre-2006
Ubicación: Sateluco
Mensajes: 2
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Regresar la fecha de un calendario (popup)

Hola:

El ejemplo del Popup me esta funcionando muy bien, solo que cuando pongo 2 textbox para ingresar las fechas de un periodo por ejemplo fecha de y fecha a, cuando ingreso la segunda fecha me borra la primera, he estado intentando guardarla en un cookie para despuesa restablecerla o con el ipostbak en el load de la página pero me la sigue borrando.

¿Alguna Idea?

Saludos
  #16 (permalink)  
Antiguo 13/12/2006, 09:36
 
Fecha de Ingreso: diciembre-2006
Mensajes: 6
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: Regresar la fecha de un calendario (popup)

gracias, justo estaba buscando algo como eso
  #17 (permalink)  
Antiguo 08/12/2007, 07:47
 
Fecha de Ingreso: noviembre-2007
Mensajes: 123
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Regresar la fecha de un calendario (popup)

Saludos a todos... Por favor necesito un popup donde me muestre un calendario y al seleccionar la fecha me la muestre en un campo text en otra pagina... Pero en ASP
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 2 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 01:47.