duvidas com ajax e load
24/11/2014
0
Tenho uma pagina com instruçoes em jquery, ajax, datatables e etc.
Ela independente funciona e esta tudo ok.
Meu problema se resume a colocar dentro de outra.pagina, parece que perde toda a formataçao.
Nao sei como fazer isso.
Tem alguma forma de chamar a pagina dentro da index principal, sem perder todos os atributos que ela tem?
E sem dar interferencia de um reset dela com o reset da principal?
Estou usando o metodo load para carregar na div da principal.
Manja
Post mais votado
25/11/2014
Sobre esse problema que você encontrou eu costumo usar uma função php que independente da hierarquia das pastas (seja na raiz ou 10 níveis acima) sempre que você chamar a função ele irá apontar para o mesmo caminho.
function urlBase(){ $Apathweb = explode("/", $_SERVER['PHP_SELF']); $myFileName = array_pop($Apathweb); $pathweb = implode("/", $Apathweb); return "http://".$_SERVER['HTTP_HOST'].$pathweb."/"; }
Outra coisa que facilita também para mim é utilizar um arquivo principal que recebe os incudes das outras páginas.
Exemplo:
<?php include('layout/header.php'); // Dentro do arquivo header estão todos os meus arquivos de estilo (css) include('layout/menu.php'); //menu com a referencia as pastas ou arquivos // aqui eu verifico qual pasta ou arquivo deverá ser chamado no include do conteúdo if(isset($_GET['pasta'])) $pasta = $_GET['pasta']; else $pasta = ""; if(isset($_GET['arquivo'])) $arquivo = $_GET['arquivo']; else $arquivo = ""; if($pasta == 'dashboard' || empty($pasta)) { $include = 'dashboard/index.php'; }elseif($pasta != "" && $arquivo == "" && file_exists("$pasta")){ if(file_exists("$pasta/index.php")){ $include = "$pasta/index.php"; }else{ $include = '/erros/erro_404.php'; } }elseif($pasta != "" && $arquivo != "" && file_exists("$pasta/$arquivo")){ $include = "$pasta/$arquivo/index.php"; }elseif($pasta != "" && $arquivo == "" && file_exists("$pasta/$arquivo.php")){ $include = "$pasta/$arquivo.php"; }else{ $include = '/erros/erro_404.php'; } include($include); // aqui estão todos os meus JS include('layout/footer.php');
qualquer duvida estamos ai...
Fernando Blomer
Mais Posts
24/11/2014
Fernando Blomer
24/11/2014
Manja
Parece que da interferencia, algo do tipo. E nao é problema de caminho.
Entao queria ja chamar ela pronta, sem ter que colocar os arquivos na principal.
24/11/2014
Fernando Blomer
Vamos por eliminação, os estilos (CSS) estão funcionando corretamente? vc esta usando quais arquivos de JS?
24/11/2014
Manja
Por exemplo aqui uso:
//biblioteca js normal
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="../classes/jquery-2.1.1.js"></script>
//esse pra calendario dentro do input
<script type="text/javascript" src="../classes/calendario/jquery-ui.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.0/themes/base/jquery-ui.css" />
//esse que monta a tabela.
<script type="text/javascript" src="../classes/DataTables-1.10.3/media/js/jquery.dataTables.js"></script>
<link rel='stylesheet' type='text/css' media='screen' href="../classes/DataTables-1.10.3/media/css/jquery.dataTables.css"/>
Fica assim:
[img]http://arquivo.devmedia.com.br/forum/imagem/259421-20141124-173843.jpg[/img]
Agora quando coloco na principal fica assim:
[img]http://arquivo.devmedia.com.br/forum/imagem/259421-20141124-174000.jpg[/img]
Perceba que ele perde as setinhas de ordenaçao, agrupamento e o calendario tb...
Fora que quando clico no limpar dessa ultima, limpa a pagina inteira.
Nao tem uma forma de trazer ela pronta, sem eu ter que inserir todos os scripts na principal?
Porque tem os scripts que montam a tabela, alem do arquivo js e css.....
24/11/2014
Fernando Blomer
estes arquivos são apenas referentes a página interna correto?
//biblioteca js normal <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="../classes/jquery-2.1.1.js"></script> //esse pra calendario dentro do input <script type="text/javascript" src="../classes/calendario/jquery-ui.js"></script> <link rel="stylesheet" href="http://code.jquery.com/ui/1.9.0/themes/base/jquery-ui.css" /> //esse que monta a tabela. <script type="text/javascript" src="../classes/DataTables-1.10.3/media/js/jquery.dataTables.js"></script> <link rel='stylesheet' type='text/css' media='screen' href="../classes/DataTables-1.10.3/media/css/jquery.dataTables.css"/>
Na index vc chama algum JS? que seja só da index?
24/11/2014
Manja
//biblioteca normal
<script type="text/javascript" src="classes/jquery-2.1.1.js"></script>
//necessario para cidades-estados
<script type="text/javascript" src="scripts/jquery.min.js"></script>
<script type="text/javascript" src="scripts/cidades-estados-1.0-utf8.js"></script>
//validaçao e mascara de formularios
<script type="text/javascript" src="scripts/jquery.mask.js"></script>
<script type="text/javascript" src="scripts/validate.js"></script>
24/11/2014
Fernando Blomer
// Index //biblioteca normal <script type="text/javascript" src="classes/jquery-2.1.1.js"></script> //necessario para cidades-estados <script type="text/javascript" src="scripts/jquery.min.js"></script> // Outra página //biblioteca js normal <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="../classes/jquery-2.1.1.js"></script>
Vc está invocando o jquery varias vezes e em versões diferentes... não sei dizer se o problema é exclusivamente este, mas isso pode dar problema...
O ideal seria vc separar os arquivos de estilo (css) dos arquivos JS e agrupar os arquivos JS para ver se não existe redundância na invocação dos mesmos.
Faça isso e vamos ver o resultado.
24/11/2014
Fernando Blomer
Veja
// Index //biblioteca normal <script type="text/javascript" src="classes/jquery-2.1.1.js"></script> // Outra página //biblioteca js normal <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="../classes/jquery-2.1.1.js"></script>
Na index vc está colocando em um diretório e os itens da outra página está em outro nível ( usando o ../ )
classes/jquery-2.1.1.js
../classes/jquery-2.1.1.js
24/11/2014
Manja
Deixei assim na principal:
<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.0/themes/base/jquery-ui.css" />
<!--
<link rel="stylesheet" href="style.css" type="text/css" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script type="text/javascript" src="scripts/jquery.min.js"></script>
<script type="text/javascript" src="scripts/cidades-estados-1.0-utf8.js"></script>
<script type="text/javascript" src="scripts/jquery.mask.js"></script>
<script type="text/javascript" src="scripts/validate.js"></script>
-->
<script type="text/javascript" src="classes/jquery-2.1.1.js"></script>
<script type="text/javascript" src="classes/DataTables-1.10.3/media/js/jquery.dataTables.js"></script>
<script type="text/javascript" src="classes/calendario/jquery-ui.js"></script>
e na ageda mesmo tudo comentado.
Tb nao vai.
24/11/2014
Manja
a index ta na raiz.
a outra pagina (agenda) ja esta dentro de uma pasta principal, por isso que muda.
24/11/2014
Manja
Dentro da montagem da tabela, tem um caminho para transformar os campos em portugues.
Chamando da pagina principal, esqueci de alterar o caminho dele.
Por isso ficava diferente.
Obrigada pela ajuda.
Minha opiniao: para quem trabalha com delphi, pegar linguagens tao misturadas como é a programaçao para internet, é muito "bagunçado"....
Ainda to engatinhando, ms é muito sofrimento.
Como neste exemplo, chamando a pagina dentro da outra, nao teria necessidade de "refazer codigos" na principal....
Clique aqui para fazer login e interagir na Comunidade :)