Ir para conteúdo

POWERED BY:

Arquivado

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

Vinícius Franke

[Resolvido]  jQuery

Recommended Posts

Boa tarde pessoal, estou com uma dúvida em jQuery (deve ser bem ridícula por sinal), mas preciso de ajuda... é o seguinte:

 

Tenho um <input text> e preciso pegar o valor dele toda vez que clico em um botão. Até aí tudo bem, eu faria assim:

 

$('botao').click(function(){
  $('campo_texto').val();
});

 

O problema é que utilizo o valor do 'campo_texto' para outra função... sendo assim eu teria que escrever novamente o código $('campo_texto').val()...

O que eu gostaria é o seguinte: criar uma váriável que possa ser usada por estas duas funções:

 

var valor_campo_texto = $('campo_texto').val();

 

Porém, não está funcionando. Alguma ideia de como fazer?

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ao que me parece você está tendo problemas com o escopo, poderia postar a outra função?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ao que me parece você está tendo problemas com o escopo, poderia postar a outra função?

Olha, não é beeem assim, mas basicamente é o que interessa:

<script>
$(document).ready(function(){

	var campo_texto = $("#campo_texto").val();

	$("#botao").click(function(){
		alert(campo_texto);
	});
	$("#campo_texto").blur(function(){
		$("#aviso").html(campo_texto);
	});
});
</script>
<input type="text" id="campo_texto"><div id="aviso"></div><br>
<input type="button" id="botao" value="Botão">

 

Entendeu? Quero utilizar a variável em duas funções; quero que toda vez que clicar no botão, apareça o valor presente no campo_texto; quero também que ao sair (blur) do campo_texto, o seu valor seja exibido na div aviso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

$(document).ready(function(){
	var campo_texto = $("#campo_texto").val(); //provavelmente aqui será null, pois você está pegando o valor de um campo que provavelmente está vazio
	$("#botao").click(function(){
			alert(campo_texto); //o alert não irá exibir nada
	});
	$("#campo_texto").blur(function(){
		var $this = $(this); //o contexto de this aqui é o node deste elemento no DOM, agora $this é um objeto do jQuery contendo este elemento
		$("#aviso").html($this.val()); //é exibido como conteúdo do elemento #aviso o valor digitado no campo #campo_texto
	});
});

Não sei se é isso que deseja, mas é o que eu pude enteder da sua dúvida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, não funcionou... o alert não está mostrando nada pelo fato do campo estar vazio, mas mesmo depois de eu preencher o campo com algum valor, o alter não mostra nada...

e o evento blur() aí não funcionou, no IE diz que o objeto não dá suporte para este método ou propriedade.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O correto é este:

 

<script type="text/javascript">
       $(document).ready(function(){

               var campo_texto = $("#campo_texto");

               $("#botao").click(function(){
                       alert( campo_texto.val() );
               });
               campo_texto.blur(function(){
                       $("#aviso").html( $( this ).val() );
               });
       });
</script>
<input type="text" id="campo_texto"><div id="aviso"></div><br>
<input type="button" id="botao" value="Botão">

entendeu ?

 

você precisa regastar o atributo .val() a cada evento, se não você vai guardar uma string vazia, e apenas exibir ela.

 

rode exatamente o código que postei.

se você alterar algo, poste oque você alterou.

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.