Fórum duvidas com ajax e load #502276
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
Curtir tópico
+ 0Post 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
Gostei + 1
Mais Posts
24/11/2014
Fernando Blomer
Gostei + 0
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.
Gostei + 0
24/11/2014
Fernando Blomer
Vamos por eliminação, os estilos (CSS) estão funcionando corretamente? vc esta usando quais arquivos de JS?
Gostei + 0
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.....
Gostei + 0
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?
Gostei + 0
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>
Gostei + 0
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.
Gostei + 0
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
Gostei + 0
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.
Gostei + 0
24/11/2014
Manja
a index ta na raiz.
a outra pagina (agenda) ja esta dentro de uma pasta principal, por isso que muda.
Gostei + 0
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....
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)