Ir para conteúdo

POWERED BY:

Arquivado

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

Flaviano-guedes

[Resolvido] Jquery

Recommended Posts

Minha duvida é a seguinte

tenho um codigo jaquery que ele realiza a seguite ação quando é precionado alguma tecla no input text do form ele escode o label referente aquele input, ai quando o evento blur() do input em questao é acionado ele verifica se o input text esta vazio se estiver ele mostrar o label novamento caso não esteja vazio ele mantem o label escondido até ai tudo bem ocorre tudo certo.O problema é quando o input text esta preenchido ai se for dado um refresh na pagina o label do input nao vai ficar escodido vai ficar a mostra ai minha duvida é.

Como eu faço para checar caso seja dado um refresh se os input text estao preechidos ou nao para eu poder esconder os label?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Form</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript"></script>  

<script LANGUAGE="javascript">
$(document).ready(function() {

$("input[type=text]").keydown(function(event) {
var id = '#'+$(this).attr('id')+'Label';
$(id).hide();
$(this).blur(function(){
var valor = jQuery.trim($(this).val());
if(valor == ""){
	$(id).show();
	$(this).val('');
  }
 });
});
});

</SCRIPT>
</head>

<body >

       <form id="evaluate_form" action="" method="post">
   		<div id="container">

          		<div id="project-details">
           		<h2 class="league">Novo</h2>
                   <div id="details">
               		<div class="field">
                       	<label id="tituloLabel" for="titulo" >Título</label>
                       	<input id="titulo" value=""  name="titulo" type="text">
                       </div>
                       <div class="field">
                       	<label id="nomeLabel" for="nome" >Nome:</label>
                       	<input id="nome" value=""  name="nome" type="text">
                       </div>

                   	<div class="clear"></div>
				</div><!-- details -->          
       		</div>
        	</div>
        </form>

</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

faça o condicional esperando apenas o window.onload:

$(document).ready(function(){
  if(  $("input[type='text']").val()!='' )
     //aqui você oculta o label

veja sobre o método .each()

Compartilhar este post


Link para o post
Compartilhar em outros sites

faça o condicional esperando apenas o window.onload:

$(document).ready(function(){
  if(  $("input[type='text']").val()!='' )
     //aqui você oculta o label

veja sobre o método .each()

 

William obrigado por responder..

Eu tetei dessa forma q você indicou mas nao funcionou :(

O codigo ficou assim..

<script LANGUAGE="javascript">
$(document).ready(function() {

if( $("input[type='text']").val()!='' ){

	var id = '#'+$(this).attr('id')+'Label';
	 $(id).hide();
	}

$("input[type=text]").keydown(function(event) {
						  var id = '#'+$(this).attr('id')+'Label';
						  $(id).hide();
						  $(this).blur(function(){
								var valor = jQuery.trim($(this).val());
								if(valor == ""){
									$(id).show();
									$(this).val('');
								}
						});
});
});

</SCRIPT>

incluse tentei colocar um alert para ver se entrava na condicional mas apareceu o alert. :)

o codigo ficou assim

<script LANGUAGE="javascript">
$(document).ready(function() {

if( $("input[type='text']").val()!='' ){

	alert("Entrou");
	}

$("input[type=text]").keydown(function(event) {
						  var id = '#'+$(this).attr('id')+'Label';
						  $(id).hide();
						  $(this).blur(function(){
								var valor = jQuery.trim($(this).val());
								if(valor == ""){
									$(id).show();
									$(this).val('');
								}
						});
});
});

</SCRIPT>

Compartilhar este post


Link para o post
Compartilhar em outros sites

faltou você usar o método .each

e ver que esse $(this) que você usou, não tem contexto ai dentro..

 

http://api.jquery.com/each/

Compartilhar este post


Link para o post
Compartilhar em outros sites

faltou você usar o método .each

e ver que esse $(this) que você usou, não tem contexto ai dentro..

 

http://api.jquery.com/each/

 

:) William vlw muito obrigado voce estava certo pesquisei pesquise e usei o .each e resolveu o problema. desculpe por antes :)

Como faço pra marca o topico como resolvido? :)

 

Muito obrigado pela ajuda.

 

ficou a assim o script

<script LANGUAGE="javascript">
$(document).ready(function() {

$("input[type=text]").each(function(index) {
   if($(this).val()!=''){
	var id = '#'+$(this).attr('id')+'Label';
	 $(id).hide();
	}
 });


$("input[type=text]").keydown(function(event) {
						  var id = '#'+$(this).attr('id')+'Label';
						  $(id).hide();
						  $(this).blur(function(){
								var valor = jQuery.trim($(this).val());
								if(valor == ""){
									$(id).show();
									$(this).val('');
								}
						});
});
});

</SCRIPT>

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.