Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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
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.
já q você vai usar retorno jSON, no lugar do $.post, use $.getJSON
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);
} $("#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.
>
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)