none
evento onblur com panel RRS feed

  • Pergunta

  • Pessoal,

    estou tentando usar o evento on blur com um panel,

    tenho um textbox1, quendo sair do campo,

    como fazer para o panel ficar visivel,

    estou tentando com este codigo, mas não estou

    conseguindo.

    uso o vs2005 VB.net

     

    Textbox1.Attributes.Add("onblur", "BLOCKED SCRIPT if (this.value != ''){document.all.form1.panelcampos.visible=true;}")

     

    se alguem puder me ajudar

    fcarei grato!

    terça-feira, 23 de setembro de 2008 17:47

Respostas

  • Quando voce faz isso no cliente o javascript nao entende que o ID do objeto é o mesmo que voce setou, pois quando o MSIL gera o codigo do cliente geralmente eh em javascript e altera as Ids dos objetos, tenta ver o codigo fonte da pagina compilada e copie o ID correto, ja aconteceu comigo e funfou.

     

    Tente:

     

    Code Snippet
    document.all.form1. NOME GERADO NO HTML PELO ASP.NET .visible=true

     

     

     

     

    terça-feira, 23 de setembro de 2008 19:47
  • Olá, boa tarde!

     

    Tem com ovocê postar o Source do seu panel?

     

    Bom, se você criou um controle do tipo Panel e colocou sua propriedade Visible como False, então ele nem fará parte do HTML no cliente, e dessa forma, não poderá ser acessado via javascript.

     

    Uma alternativa seria manter a propriedade Visible=True e adicionar o seguinte comando:

    ...

    panelcampos.Attributes.Add("style","display:none")

    ...

     

    e modificar o outro comando para:

    ...

    Textbox1.Attributes.Add("onblur", "BLOCKED SCRIPTif (this.value != ''){document.getElementById('" & panelcampos.ClientID & "').style.display='';}")

    ...

     

    Abraço

    quarta-feira, 24 de setembro de 2008 19:02

Todas as Respostas

  • Quando voce faz isso no cliente o javascript nao entende que o ID do objeto é o mesmo que voce setou, pois quando o MSIL gera o codigo do cliente geralmente eh em javascript e altera as Ids dos objetos, tenta ver o codigo fonte da pagina compilada e copie o ID correto, ja aconteceu comigo e funfou.

     

    Tente:

     

    Code Snippet
    document.all.form1. NOME GERADO NO HTML PELO ASP.NET .visible=true

     

     

     

     

    terça-feira, 23 de setembro de 2008 19:47
  • Olá, boa tarde!

     

    Tem com ovocê postar o Source do seu panel?

     

    Bom, se você criou um controle do tipo Panel e colocou sua propriedade Visible como False, então ele nem fará parte do HTML no cliente, e dessa forma, não poderá ser acessado via javascript.

     

    Uma alternativa seria manter a propriedade Visible=True e adicionar o seguinte comando:

    ...

    panelcampos.Attributes.Add("style","display:none")

    ...

     

    e modificar o outro comando para:

    ...

    Textbox1.Attributes.Add("onblur", "BLOCKED SCRIPTif (this.value != ''){document.getElementById('" & panelcampos.ClientID & "').style.display='';}")

    ...

     

    Abraço

    quarta-feira, 24 de setembro de 2008 19:02