Ir para conteúdo

POWERED BY:

Arquivado

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

kania

[Resolvido] recuperar dados array jquery

Recommended Posts

Olá pessoal,

 

Assim tenho o seguinte código

 

$(document).ready(function(){
$("#carregando_acao").css("display","none");
$("#retorno_acao").css("display","none");
$("#retorno_acao_ok").css("display","none");
$("#btn_enviar_palavra").click(function(){

	//$(".form_atualizar_dados").fadeOut("slow");
	beforeSend:$("#carregando_acao").fadeIn("slow");
	beforeSend:$("#retorno_acao_ok").fadeOut("slow");
	beforeSend:$("#retorno_acao").fadeOut("slow");
	var palavra	= $("#palavra").val();

	$.post("atualiza_palavra.asp",{
	palavra : palavra, 
	},
	function(pegar_dados){
		complete:$("#carregando_acao").fadeOut("slow");
		if (pegar_dados == "ERRO_EMAIL") {
			$("#carregando_acao").fadeOut("slow");
			$("#retorno_acao").fadeIn("slow").html("Você deve digitar uma palavra antes de clicar para enviar.");
			//setTimeout('document.location="?p=painel_usuario.aspπ=atualizar_dados.asp";',10);
		}
		else if (pegar_dados == "ERRO"){
			$("#carregando_acao").fadeOut("slow");
			$("#retorno_acao").fadeIn("slow").html("Esta palavra já encontra-se cadastrada para seu anúncio.");
		}
		else{
			resp		= $.parseJSON(pegar_dados)
			var msg		= (this).val(resp.msg);
			var total	= (this).val(resp.total);

			alert(msg);

			if (total == "15"){
				$("#atu_palavra").css("display","none");
				$(".block-border").fadeIn("slow").html("<div class=\"alert warning\"><strong>Atenção: </strong>Você já cadastrou o total de 15 palavras. Para cadastrar uma nova palavra você precisa primeiro excluir uma já cadastrada.</div>");

			};
			$("#retorno_acao_ok").fadeIn("slow").html(msg);
			$('#lista_palavras').fadeIn("slow").load("atualiza_lista_palavra.asp");
		};
	});
});

 

Nesta parte:

 

resp		= $.parseJSON(pegar_dados)
			var msg		= (this).val(resp.msg);
			var total	= (this).val(resp.total);

			alert(msg);

			if (total == "15"){
				$("#atu_palavra").css("display","none");
				$(".block-border").fadeIn("slow").html("<div class=\"alert warning\"><strong>Atenção: </strong>Você já cadastrou o total de 15 palavras. Para cadastrar uma nova palavra você precisa primeiro excluir uma já cadastrada.</div>");

 

Estou tentando pegar os dados retornados em array para fazer um comparação e bloquear o formulário caso a quantidade seja = 15, porem acho que via recuperaçãod e dados não esta correta apesar das informação estar sendo enviada certo.

Vejam o retorno da pagina

 

{"msg":"Palavra <strong>Padarias</strong> foi cadastrada com sucesso. Pode cadastrar outra palavra enquanto a lista ao lado esta é atualizada.","total":"15"}

 

O array esta formado corretamente, porem não estou sabendo recuperar ele com o jquery.

 

Da para dar uma força pessoal

Compartilhar este post


Link para o post
Compartilhar em outros sites
 var msg         = (this).val(resp.msg); // ????
var total       = (this).val(resp.total); // ???

Não entendi, você vai alterar o valor do campo ao mesmo tempo com os 2 valores? Além disso, a sintaxe está errada, o correto é $(this)

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa Henrique, na verdade não, veja eu estou querendo pegar um valor que esta vindo de uma consulta ASP que retorna o seguinte valor

 

{"msg":"Palavra <strong>Padarias</strong> foi cadastrada com sucesso. Pode cadastrar outra palavra enquanto a lista ao lado esta é atualizada.","total":"15"}

 

Resgatar este valor via Jquery separando em 2 variáveis sendo elas

 

msg: "Palavra <strong>Padarias</strong> foi cadastrada com sucesso. Pode cadastrar outra palavra enquanto a lista ao lado esta é atualizada."

total: "15"

 

Esta parte de pegar o valor que esta vindo e transformar em um array e depois em 2 variáveis independentes para ser utilizadas nos IF é que eu estou sabendo fazer.

 

O que notei é que parece que o retorno esta vindo como string e não com um array, apesar da formação ser de array, quando eu dou um alert(variavel[0]) por exemplo ele esta retornando o valor { que é primeiro do item retornado e não o valor que esta dentro do msg: por isso acho que o Jquery não esta entendendo que aquilo é um array.

 

Sei se minha lógica esta certa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

já q você vai usar retorno jSON, no lugar do $.post, use $.getJSON

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Wilian, então fera se você ver eu inicialmente já retorno ele via $.post

 

 $.post("atualiza_palavra.asp",{
               palavra : palavra, 

 

Ai na function pegar_dados e recupero a informação porem não estou sabendo com tratar a informação no Jquery quando eu preciso que seja separada.

Mandar uma resposta, eu pego e mando imprimir na tela via $().html, mas neste caso eu estou querendo pegar e separa em 2 variáveis por que uma delas é um valor que eu preciso comparar para bloquear o formulário caso seja verdadeira.

 

Algo mais ou menos assim

 

//aqui eu pegaria a variável 1 no caso o (total)
if(pegar_dados == 15){
  $("#retorno_acao").fadeIn("slow").html(pegar_dados);//aqui eu apresentaria um mensagem vinda no mesmo post porem seria uma outra variavel
  $("#palavra").attr("disabled", true);
}
else{
  $("#retorno_acao_ok").fadeIn("slow").html(pegar_dados);
  $('#lista_palavras').fadeIn("slow",3000).load("atualiza_lista_palavra.asp");
}

 

Nas opções de

 

Tranquilo pessoal, fiz de outra forma, tratei a resposta no ASP direto trazendo uma informação de cada vez.

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.