Array
(
)

Exibir Dados cadastrados em outra tela

Facc
   - 27 abr 2010

Boa tarde,

Tenho uma página que estou fazendo alguns testes do componente Daily (componente para Compromissos), consegui configurar ela corretamente.

Agora vem a dúvida:

Criei uma outra página para cadastrar os horários do compromisso, como posso fazer para, quando o usuário fecchar essa janela, de um reload na página anterior (onde se encontra o Scheduler)?

Estou chamando a página de cadastro através de javascript (window.open('NomePagina.aspx', '', 'tamanho'); ) e fecho através de javascript tbm (window.close(); )

Marcio
   - 28 abr 2010

Você pode submeter a página que abriu o pop-up com:
#Código
window.opener.submit();

Facc
   - 28 abr 2010

Onde eu coloco esse comando? Pois no OnClientClick do botão já coloquei o window.close();

Melantonio
|
MVP
Pontos: 300
    29 abr 2010

Colaca assim:

OnClientClick="window.opener.submit();window.close();"

falow

Facc
   - 29 abr 2010

continua não atualizandoo a pagina pai nem fechando a janela filha

Facc
   - 29 abr 2010

Segue a imagem do site
qndo eu clico em alguma célula, ele me abre uma página em modal (feita com Thickbox da JQuery)
mas ao clicar em salvar, está me abrindo essa página maximizada. o código com botão salvar é simples, faço uma conexao com BD mysql e executo um comando.

Pedro Otávio
   - 29 abr 2010

  De uma olhada nesse site, ve si ajuda

http://www.mediacollege.com/internet/javascript/page/reload.html

Marcio
   - 30 abr 2010

Tá dando algum erro de JavaScript?
Porque eu faria a mesma coisa que o Tiago falou abaixo: javascript:windo.opener.submit();window.close();

Netasper
   - 30 abr 2010

Amigo, so usar o window.opnner mesmo. Assim consegue "ver" os controles na pagina pai...   []s

Facc
   - 30 abr 2010

Deixa ver se consigo me expressar melhor

tenho uma tela onde possui os componentes MonthCalendar e DayPilotSheduler, ao clicar na célula eu executo, através de JavaScript esse código

#CódigodialogModal('Cadastro.aspx?Start={0}', 'Cadastro de Horários', '500', '200');

no HTML da página colocquei essa function, entre as TAGs Body
#Código<script>
  function dialogModal(url, nome, nrTamanho, nrLargura)
  {
     eval(window.showModalDialog(url, nome, 'Resizable:no, DialogHeigth:'+nrTamanho+'px ; DialogWidht:'+nrLargura+'px; Edge:raised; Help:no; Scroll:no; Status:no; Center:yes;'));
     //eval(caixa);
  }
</script>


até aí sem problema, consigo abrir em modal a página que eu quero. Nessa página cadastro, possui os componentes DropDownList, TextBox, RadioButton e 2 Buttons. No botão SALVAR tenho esse código

#CódigoMySqlConnection cnn = new MySqlConnection(cnnString);
        string SQL = "insert into Compromisso (Name, Start, End) Values ('" + ddlComprador.SelectedItem + " - " + txtAssunto.Text + "', '" + txtStart.Text + "', '" + HoraFinal() + "')";

        try
        {
            cnn.Open();
            MySqlCommand cmd = new MySqlCommand(SQL, cnn);

            cmd.ExecuteNonQuery();           
        }
        catch (Exception err)
        {
            Response.Write(err.Message);
        }
        finally
        {
            cnn.Close();
        }

tbm executa sem problemas. O problema começa no botão Fechar. Gostaria que, ao clicar, ele atualizasse a página anterior e fechasse, mas não está acontecendo isso, no FireFox, não fecha a página e o IE abre a página cadastro.aspx novamente.

Coloquei o seguinte código no OnClientClick do botão FECHAR

#Códigowindow.opener.submit();window.close();

Alguem poderia me arrumar uma solução?

Marcio
   - 30 abr 2010

Ah tá!
window.showModalDialog funciona diferente mesmo, ele devolve um valor para uma variável.
Acho que é o caso de você passar como parâmetro para a sua função que faz a chamada ao showModalDialog, e ela fazer a atualização.

Marcio
   - 30 abr 2010

Lembrei de algo aqui para o showModalDialog() tenta usar aí "windo.parent.submit()";
não sei se vai dar certo porque a janela Modal é filha do formulário que a chamou.
Talvez a solução seja aquela anterior que eu falei mesmo (na função que chama o Modal fazer o reload).

[]s

Facc
   - 30 abr 2010


Citação:
Ah tá!
window.showModalDialog funciona diferente mesmo, ele devolve um valor para uma variável.
Acho que é o caso de você passar como parâmetro para a sua função que faz a chamada ao showModalDialog, e ela fazer a atualização.


Poderia me auxiliar? Pois tentei dessa forma e não resolveu

#Código<script>
  function dialogModal(url, nome, nrTamanho, nrLargura)
  {
     var retorno = "";
     retorno = window.showModalDialog(url, nome, 'Resizable:no, DialogHeigth:'+nrTamanho+'px ; DialogWidht:'+nrLargura+'px; Edge:raised; Help:no; Scroll:no; Status:no; Center:yes;');
    
     if (retorno != "" && retorno != null)
     {
        window.location.reload();
     }
  }
</script>

Marcio
   - 03 mai 2010

Não rapaz.
Quando falei reload tava dizendo para você submeter a página.
#Código
document.forms[0].submit();