Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ProgramadorASP

OnClick

Recommended Posts

Tenho o seguinte problema.Digamos que isso abaixo seje meu site.---------------------------------------|ADMINISTRACAO: | ------------------------------------------------------------------------------|SUPORTE: | ------------------------------------------------------------------------------|CLIENTES: | ---------------------------------------Digamos que isso represente uma área onde temos tres tipos diferentes de formulario.Problema:Conseguir fazer com que quando o usuário clicar no nome de cada área |ADMINISTRACAO: |SUPORTE: |CLIENTES: Desca um linha da tabela com os campos de login e senha. Tipo assim.ANTES DO USUARIO CLICAR.---------------------------------------|ADMINISTRACAO: | ------------------------------------------------------------------------------|SUPORTE: | ------------------------------------------------------------------------------|CLIENTES: | ---------------------------------------APÓS O CLIQUE DO USUÁRIO---------------------------------------|ADMINISTRACAO: | ---------------------------------------login: campo_textosenha: campo_texto Ok(BUTTON)---------------------------------------|SUPORTE: | ------------------------------------------------------------------------------|CLIENTES: | ---------------------------------------Tambem e necessario fazer quando clicamos em SUPORTE os campos de login e senha de ADMINSTRACAO somem automaticamente.[]´s B)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa duvida é semelhante ao topico do desaparecer o div...você pode fazer por div ou por tabela (atribuindo um id).No body você da um Onload chamando a funcao que esconde as tabelas de login e quando clicar, chama o javascript pra aparecer eles.A propriedade que faz isso é o .style.display... ....se nao conseguir, avisa ai que posto o codigo pra você....

Compartilhar este post


Link para o post
Compartilhar em outros sites

function escondeMenu(tabeladinamica) {	var thisLevel = document.getElementById(tabeladinamica);	thisLevel.style.display = "none";}function mostraMenu(tabeladinamica) {	var thisLevel = document.getElementById(tabeladinamica);	if ( thisLevel.style.display == "none") {  thisLevel.style.display = "block";  }	else {  escondeMenu(tabeladinamica);  }}function escondeTudo() {	escondeMenu('id_tab_login');  	escondeMenu('id_tab_2');		escondeMenu('id_tab_3');	escondeMenu('id_tab_4');	}

Agora coloque nas tabelas os id correspondentes...

a funcao escondeTudo deve ser chamado no assim <body onload = "escondeTudo()" ...>

A chamada das funcoes é <img src... onClick="mostraMenu('id_tab_login')">

Compartilhar este post


Link para o post
Compartilhar em outros sites

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head><title>Exemplo</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><script language="javascript">function escondeMenu(tabeladinamica) {var thisLevel = document.getElementById(tabeladinamica);thisLevel.style.display = "none";}function mostraMenu(tabeladinamica) {var thisLevel = document.getElementById(tabeladinamica);if ( thisLevel.style.display == "none") { thisLevel.style.display = "block"; }else { escondeMenu(tabeladinamica); }}function escondeTudo() {escondeMenu('id_tab_login');  }</script></head><body onLoad="escondeTudo()"><form name="form1" method="post" action="">  <a href="javascript: mostraMenu('id_tab_login')">aparece</a><br>  <table width="300" border="1" cellspacing="0" cellpadding="0" id="id_tab_login">    <tr>      <td>login</td>    </tr>    <tr>      <td>senha</td>    </tr>  </table></form></body></html>

Ta ai... ...espero que consiga...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim!! E isso mesmo.

 

Mas so que tem um pequeno detalhe, como havia dito antes no 1º post.

 

terei no meu site o seguinte.

 

ADMINISTRACAO

SUPORTE

CLIENTES

 

onde ao clicar em ADMINISTRACAO apareca o mesmo efeito feito por quando clico em

 

aparece.

 

So que quando eu for clicar em por exemplo aparece2 o login e senha de aparece tem que sumir automaticamente apos o surgimento do login e senha de aparece2.

 

No mais já esta servindo muito, falta esse detalhe para ficar 100%.

 

... APENAS O LOGIN E A SENHA DE APARECE tem que sumir ao clicar em APARECE2

 

[]´S http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Versao 2.0

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head><title>Exemplo</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><script language="javascript">function escondeMenu(tabeladinamica) {var thisLevel = document.getElementById(tabeladinamica);thisLevel.style.display = "none";}function mostraMenu(tabeladinamica) {var thisLevel = document.getElementById(tabeladinamica);if ( thisLevel.style.display == "none") {thisLevel.style.display = "block";}else {escondeMenu(tabeladinamica);}}function escondeTudo() {escondeMenu('id_admin');escondeMenu('id_suporte');   }</script></head><body onLoad="escondeTudo()"><form name="form1" method="post" action=""> <a href="javascript: mostraMenu('id_admin'); escondeMenu('id_suporte')">aparece</a><br> <table width="300" border="1" cellspacing="0" cellpadding="0" id="id_admin">   <tr>     <td>login</td>   </tr>   <tr>     <td>senha</td>   </tr> </table><br><br> <a href="javascript: mostraMenu('id_suporte'); escondeMenu('id_admin')">aparece</a><br> <table width="300" border="1" cellspacing="0" cellpadding="0" id="id_suporte">   <tr>     <td>login</td>   </tr>   <tr>     <td>senha</td>   </tr> </table></form></body></html>

Bom, é isso...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seguinte galera,O Muneo me passou esse codigo que quando eu clico o meu aparece e quando clico novemente o menu some.So que tem o seguinte, quando eu abro o meu site(...que esta quase pronto!!! :P )o submenu que deveri se abrir somente quando clicar no link, ele ja fica a mostra.Gostaria de saber se tem como fazre com que o submenu nao fique a mostra, e so quando eu clicar ele aparece.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiz um mais simples:

function alterVisibility(line) { if ( document.getElementById(line).style.display == '' ) {  document.getElementById(line).style.display = 'none'; } else {  document.getElementById(line).style.display = ''; }}

E você chama assim:

<a href="javascript:;" onclick="alterVisibility('id do objeto html');">mostra</a>

Compartilhar este post


Link para o post
Compartilhar em outros sites

O id da tag HTML que você quer esconder, tipo na função que você estava usando antes:

<a href="javascript: mostraMenu('id_admin'); escondeMenu('id_suporte')">aparece</a><br><table width="300" border="1" cellspacing="0" cellpadding="0" id="id_admin">

Certo?Abraço,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, mais sinceramente nao consegui fazer com o script que você me mandou.

 

Na verdade e uma layer que contem um formulario de login e senha para entrar em um WebMail

 

 

WEB MAIL - > quando clicar no link aparece logo abaixo, sem refresh um formulario de login e senha

 

o que tenho aqui, ja aparece quando a pagina e carregada, e nao pode ser assim

tem que ser quando o evento ONCLICK for executado no link.

 

...desde ja agradeco a todos. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seguinte cara,

 

Tu coloca na layer a propriedade css visibility: hidden, adiciona um id a essa layer e para abrir a layer você coloca isso:

 

onclick="alterVisibility('id do objeto html');"

 

O visibility: hidden vai deixar a sua layer invisível no carregamento da página e quando clicar ela vai aparecer.

 

Espero que entenda agora! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

Abraço,

Compartilhar este post


Link para o post
Compartilhar em outros sites

vai dar erro..

function alterVisibility(line) {if ( document.getElementById(line).style.display == '' ) {document.getElementById(line).style.display = 'none';} else {document.getElementById(line).style.display = '';}}

Tu coloca na layer a propriedade css visibility: hidden, adiciona um id a essa layer e para abrir a layer você coloca isso:onclick="alterVisibility('id do objeto html');"

você entrou em contradição, repare que na função que mostra e esconde a layer você usou o display, valores none e block.. se a layer estiver com o visibility, valores hidden ou visibility.. a função não vai funcionar ;) no lugar de visibility:hidden na layer, use display:none
<div style="display:none".....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poderiam colocar o codigo para mim, caras to mais perdido que cego em tiroteio.

 

Ta pegando aqui no trampo!!! quebram essa para mim, ta acabando o site que estou desenvolvendo, mais tem tanta coisa pequena que se transforma em grandes problemas.

 

Agradeco a ajuda de você´s.

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif http://forum.imasters.com.br/public/style_emoticons/default/bye1.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

use o que foi postado... a função (function) você usa entre <script> e </script>

<script>function alterVisibility(line) {if ( document.getElementById(line).style.display == '' ) {document.getElementById(line).style.display = 'none';} else {document.getElementById(line).style.display = '';}}</script>
o link é normal, insira onde você achar melhor.. apenas troque o id.. vamos supor que você tenha o id imasters

então

onclick="alterVisibility('imasters');"

esse id é o mesmo que vai estar na div(layer)

<div id="imasters" style="display:none;"> Oi.. </div>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Revivendo o topico... rsseguinte usei o código citado funcionou perfeitamente... mas no caso estou usando em um blog que fiz, coloquei em todos as mensagens, "comentar", quando clica abre o formulario, o problema é que, ele só abre o rimeiro... por exemplo se tiver 10 posts no blog, idependente de qual "comentar" eu clicar, ele só abre e fecha o primeiro formulario, no caso do primeiro post...pela logica, deve haver mais alguma coisa pra isolar os comentarios e saber qual abrir e fechar exemplopost1comentar1post2comentar2pq dai idependente de qual eu clicar ele vai abrir o correspondente, mas não manjo NADA de JS =/e no caso os post e os links comentarios são gerados dinamicamente, em ASP no caso =)Alguem pode me ajudar ?Abraços e valeu mesmo =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.