Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia galera. Estou com um sistema que tem um botão para ativar e desativar, porém gostaria que fizesse o mesmo sem dar refresh na página inteira, só em uma div, porquê estou usando MENU ACCORDION e se atualizar a página inteira, sairá do conteudo de ativar e desativar. Meu código AJAX abaixo:
<!-- inicio do ativar instalacao -->
// $('.ativa').on('click', function(){ <!--utilizar ON se jquery > 1.7, ou usar LIVE se jquery <1.7-->
$(document).ready(function() {
$('#msg_ativ').hide();
});
$(function() {
$('.ativa').on('click', function(){
$('#msg_ativ').fadeIn();
var id = this.id;
$.ajax({
type: "POST",
url: "[url=[http://localhost/wordpress/wp-content/themes/onetone-child/accordion/ativa_desa.php](http://localhost/wordpress/wp-content/themes/onetone-child/accordion/ativa_desa.php)][http://localhost/wordpress/wp-content/themes/onetone-child/accordion/ativa_desa.php](http://localhost/wordpress/wp-content/themes/onetone-child/accordion/ativa_desa.php)",[/url]
data: {id: id},
success: function( data )
{
$("#ativado").fadeIn(1000);
$("#ativado").html("Ativado!");
$('#msg_ativ').fadeOut(1000);
location.reload("table");
//alert(data);
}
});
return false;
});
});
<!-- inicio do desativar instalacao -->
$(document).ready(function(){
$('.desativa').on('click',function(){
var id1 = this.id;
$.ajax({
type: "POST",
url: "[url=[http://localhost/wordpress/wp-content/themes/onetone-child/accordion/ativa_desa.php](http://localhost/wordpress/wp-content/themes/onetone-child/accordion/ativa_desa.php)][http://localhost/wordpress/wp-content/themes/onetone-child/accordion/ativa_desa.php](http://localhost/wordpress/wp-content/themes/onetone-child/accordion/ativa_desa.php)",[/url]
data: {id1: id1},
success: function( data )
{
$("#desativado").fadeIn(1000);
$("#desativado").html("Desativado!");
location.reload("table");
//alert(data);
}
});
return false;
});Então, na verdade não está acontecendo nada de errado, está carregando a pagina inteira, eu só preciso que carregue uma DIV, ou uma tabela, porquê se der refresh na pagina inteira, vai sair do conteudo que eu estou, porquê é MENU ACCORDION. Se você não conseguir entender direito, eu explico melhor. Agradeço aí.
Repare que no código em ajax na linha 21 está assim --> location.reload("table");
Esse location.reload que está fazendo carregar a pagina inteira, eu quero carregar só uma div.
Use:
$('#content').load('pagina.php');
http://api.jquery.com/load/
ou seja, jogar em uma DIV o retorno do ajax. Ai não tem refresh.
Então, eu ja tinha feito isso, porém ele me retorna um erro.
Notice: Undefined variable: user_ID in C:\wamp\www\wordpress\wp-content\themes\onetone-child\accordion\lista_dados.php on line [/size]4
Me corrija se eu estiver errado. Esse código que você colocou, ficaria assim:
$('#id_instalacao').load('http://localhost/wordpress/wp-content/themes/onetone-child/accordion/lista_dados.php'));;)
$('#id_instalacao') é o ID da div, certo ?
load('http://localhost/wordpress/wp-content/themes/onetone-child/accordion/lista_dados.php');;) seria a página que essa div se encontra ?
E um pequeno código da página que está dando erro:
<?php
include("conexao.php");
try{
$id = $user_ID; / Está dando erro nessa variável $user_ID, mas eu não posso tirar ela, porquê é a que guarda o ID do usuário /
$resu = $pdo->query("SELECT g.id_grupo, g.nome_grupo, g.ID, w.ID FROM cad_grupo g, wp_VzQCxSJv7uL_users w WHERE g.ID = w.ID and g.ID = $id");
}
catch(Exception $e) {
print "ERRO!:". $e->getMessage() . "<br>";
die();
}
?>Essa variável não foi definida. De onde vem o valor dela? ou de onde deveria vir?
Então, ela está definida, tanto que se eu tirar, para de funcionar. É pq eu uso wordpress, nesse sistema que eu estou fazendo, tenho que separar os conteudos por usuarios, então é essa variavel que eu uso para identificar o ID do user.
Então ela deve ser uma variável global. Vc tem que corrigir esse teu erro no php.
Exato, é uma variável GLOBAL, tanto que eu não preciso ficar declarando ela.
Tenta assim:
$id = $GLOBALS['user_ID'];O fato é: vc tem um problema de escopo ai.
Vc precisa corrigir o teu php.
Agora em vez de dar Undefined variable, está dando Undefined index
Eu consegui mais ou menos o resultado que eu esperava, assim:
$('table[id=status]').load('http://localhost/wordpress/wp-content/themes/onetone-child/accordion/dados1.php #status');
E o que deu errado?
O que aparece no console de erros? Ctrl + Shift + J no Firefox ou Chrome?