Usuário com melhor resposta
evento onblur com panel

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!
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 Snippetdocument.all.form1. NOME GERADO NO HTML PELO ASP.NET .visible=true -
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
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 Snippetdocument.all.form1. NOME GERADO NO HTML PELO ASP.NET .visible=true -
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