• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

maiden

Seleccionar data através de um PopUp Calendar

3 mensagens neste tópico

Boas,

Preciso que o utilizador preencha duas datas, de início e final de determinado período, em duas TextBoxes. Para isso ele poderá introduzi-las manualmente ou através de um calendário de PopUp, isto é, criei uma página apenas para o calendário que é aberta quando o utilizador clica num botão.

Tenho o seguinte código:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    'Adiciona o codigo JavaScript ao atributo "onclick" para poder abrir a janela de PopUp
    Me.btnPopUp.Attributes("onclick") = "window.open('calendario.aspx', 'Calendário','height=307, width=220, resizable=no, toolbar=no')"
End Sub

Depois, já na página do calendário, crio uma variável de sessão com a data seleccionada no calendário, de forma a passá-la para a página principal

Protected Sub objCal_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles objCal.SelectionChanged
    Session("data") = objCal.SelectedDate.ToString
End Sub

Criei uma função em Javascript para fazer refresh à página mãe e fechar o PopUp, através do código:

function enviarDados(){
    window.opener.location.reload();
    window.close();
};

e chamo-a no evento onunload da página

<body onunload="enviarDados();">

Verifico se essa informação existe no Page_Load da página principal

'Verifica se ja foi criada a variavel de sessao
If Not Session("data") Is Nothing Then
    txtDataInicio.Text = Session("data").ToString
End If

O código funciona, e a data que seleccionei é enviada para a TextBox, mas o problema é que aparece sempre um alerta a dizer que os dados já foram enviados e se os quero voltar a enviar. Gostaria que esta mensagem não aparecesse, mas não estou a ver outra forma de por isto a funcionar. Alguém sabe como resolver?

Cumps,

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado, já consegui por a funcionar recorrendo ao primeiro método.

Cumps,

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora