Ir para conteúdo

POWERED BY:

Arquivado

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

Cristiano Cordeiro

[Resolvido] Ocultar / exibir div

Recommended Posts

o código com o titulo já é auto-explicativo

 

<?

               $um = "12345";
	$dois = "1234";

	if($um != $dois){

	//deixa a div visivel

	}else{

	//deixa a div oculta

	} 



?>

<html>
<head>
 <script>

window.onload = function (){

document.getElementById('div').style.visibility = "hidden"; //ocaulta a div

   document.getElementById('a').onkeypress = function (){

     document.getElementById('div').style.visibility = "hidden"; //oculta a div quando digitado na caixa


 }
}
</script>
</head>
<body>

<input type="text" name="a" id="a" >
<div id="div">Diferente</div>

</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

não entendi nada.

 

 

explique melhor.

 

qndo você quer que mostre a div ?

pq essa complicação entre php e js ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

não entendi nada. ---> nem sei como explicar melhor, vo tenter assim

 

 

qndo você quer que mostre a div ? --->se $um é diferente de $dois, ira mostrar a div com id="div", e se eles($um e $dois) são iguais não faz nada(deixa a div oculta)[esquece a parte else{ } ]

 

pq essa complicação entre php e js ? -----> para não ficar div, sobreposta em outra div, entendeu? digitou a div sumiu

 

 

entendeu ou quer que eu envie um desenho? :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

entendeu ou quer que eu envie um desenho? :D

Amigão, completamente desnecessário isso.

 

Na boa ? até desmotiva de ajudar alguém depois disso.

<?php
   $um = "12345";
   $dois = "1234";

   if($um != $dois){
        echo '<style>#div { visibility: visible; }</style>';
   }
?>

não tem muito pra onde fugir.

 

ou você faz o teu php gerar html/css ou faz ele gerar javascript.

diretamente php não oferece nenhuma forma de interação com a estilização do documento.

 

 

dica:

function id( el ){ return document.getElementById( el ); }

Compartilhar este post


Link para o post
Compartilhar em outros sites

na boa? até desmotiva de ajudar alguém depois disso ----> deu pra vê a sua falta de 'desmotivação', porque isso não tá funcionando,

 

 

alias não entendi nada. explique melhor. pra que serve isso? function id( el ){ return document.getElementById( el ); }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Okay, vou desenhar para você.

 

 

<html>
<head>
<?php
   $um = "12345";
   $dois = "1234";

   if($um != $dois){
        echo '<style>#div { visibility: visible; }</style>';
   }
?>
 <script>

window.onload = function (){

id('div').style.visibility = "hidden"; //ocaulta a div
   id('a').onkeypress = function (){
     id('div').style.visibility = "hidden"; //oculta a div quando digitado na caixa
 }
}
function id( el ){ return document.getElementById( el ); }
</script>
</head>
<body>

<input type="text" name="a" id="a" >
<div id="div">Diferente</div>

</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

comente aqui:

window.onload = function (){

  //id('div').style.visibility = "hidden"; //ocaulta a div

Compartilhar este post


Link para o post
Compartilhar em outros sites

se comentar isso, a div não ficara oculta, e é lógico que ira mostrar 'Diferente',

sim, você precisa entender melhor o fluxo.

 

 

mesmo que coloca o 5 na $dois

então, você precisa saber melhor oq você está tentando fazer.

 

 


<html>
<head>
<?php
   $um = "12345";
   $dois = "1234";

   if($um != $dois)
        echo '<style>#div { visibility: visible; }</style>';
   else
        echo '<style>#div { visibility: hidden; }</style>';
?>
 <script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

???sim, você precisa entender melhor o fluxo.

mesmo que coloca o 5 na $dois

então, você precisa saber melhor oq você está tentando fazer.???não endendi o que você quiz dizer com isso...

 

 

acho que voce não endendeu o que quero fazer... mas vou tentar explicar melhor

 

 

quero que tenha uma div invisivel, que quando o script der erro(neste exemplo, o $um diferente do $dois) esta div fique visivel, e quando é digitado algo na caixa de texto, esta div volte a ficar invisivel

Compartilhar este post


Link para o post
Compartilhar em outros sites

quero que tenha uma div invisivel,

okay

 

 

que quando o script der erro(neste exemplo, o $um diferente do $dois) esta div fique visivel,

você sabe que o php roda antes do javascript, certo ?

portanto, só vai fazer aquele teu IF uma vez, antes do servidor cuspir a pagina.

 

 

e quando é digitado algo na caixa de texto, esta div volte a ficar invisivel

aqui que acontece o conflito.

 

Pois se a condição inicial da div, não for definida pelo condicional php, então a tua div, nunca ficará visivel.

 

 

o problema aqui, é no fluxo de qndo acontece o erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu tentaria assim:

<?           
   $um = "12345"; 
   $dois = "1234";   

   if($um != $dois){

       //deixa a div visivel
       echo "<div style='display:none'>";

   }else{  

      //deixa a div oculta
      echo "<div >";
}

                              }
?>

 

Eu testei aqui e funcionou se for o que você quer eu acredito que vai ser útil

Compartilhar este post


Link para o post
Compartilhar em outros sites

aki um exemplo utilizando jQuery

 

<html>
<head>
<?php
$um = "12345";
$dois = "1234";

if($um != $dois){
	echo '<style>#divDiferente { visibility: visible; }</style>';
} else {
	echo '<style>#divDiferente { visibility: hidden; }</style>';
}
?>
<script type="text/javascript" src="jquery.js"></script>
<script type=text/javascript>
$(function() {
	$("input#a").keypress(function() {
		$("div#divDiferente").hide();
	});
});
</script>
</head>
<body>
<input type="text" name="a" id="a" >
<div id="divDiferente">Diferente</div>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

kara como William Bruno disse Pois se a condição inicial da div, não for definida pelo condicional php, então a tua div, nunca ficará visivel.

tenta usar o <div style='display:none'> ou inline eu acho que resolve.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só mais uma duvida...

<html>
<head>
<?php

if(isset($_POST['d']) && $_POST['d'] == 'f'){

   $um = $_POST['a'];

if(!$um) {
         echo '<style>#divDiferente { visibility: visible; }</style>';
} else {
         echo '<style>#divDiferente { visibility: hidden; }</style>';
 }

}

?>
<script type="text/javascript" src="jquery.js"></script>
<script type=text/javascript>
       $(function() {
               $("input#a").keypress(function() {
                       $("div#divDiferente").hide();
               });
       });
	</script>
</head>
<body> 
 <div id="divDiferente">Campo vazio</div>
    <form id="ag" action="" method="post">
       <input type="hidden" name="d" value="f" >
       <input type="text" name="a" id="a" ><br />
      <br />
	<input type="submit" value="enviar">
 </form>
</body>
</html>

 

como deixar a div invisivel, quando a pagina é carregada, ou seja, ela ficar visivel após ter apertado o butão submit.

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.