Ir para conteúdo

Arquivado

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

gapaiva44

Carregar js externo

Recommended Posts

E ai galera blza!

Eu fiz um sistema que carrega as paginas do site com AJAX, ai esta minha duvida, quando a pagina solicitada tem um arquivo js externo o mesmo não funciona, no meu caso para ser mais exato são 2 js externos, alguem sabe como posso arrumar isso?

 

Segue abaixo a função que carrega as paginas

function ativarNavegacao() {
	// Seleciona todas as tags a, os links.
	var linksBtn = gEs('a');
	// Faz um loop por todos (links)
	for (var x = 0; x < linksBtn.length; x++) {
		// Cada link em si
		var linkBtn = linksBtn[x];
		// Cria uma vairável - atributoRel - com o valor do atributo rel do link
		var atributoRel = new String(linkBtn.getAttribute('rel'));
		// Verifico se o link será para edição dos dados
		if (atributoRel.substring(0,12) == 'btnCarregaPg') {
			linkBtn.onclick = function() {
				// Pego o ID do registro, que coloquei no atributo rel
				// Se fazer sem a palavra-chave this, o script sempre pegará o último da lista
				// O this neste caso é IMPORTANTISSÍMO
				var ID = this.getAttribute('rel').split('-')[1];
				//var TT = this.getAttribute('rel').split('-')[2];
				var url="mudaPagina.php?pgS="+ID;
				//alert(TT);
				
				//var titulo=gE('tituloMeio');
				
				//titulo.innerHTML=TT;
				
				// Inicia o Ajax, através da variável Ajax
				var ajax = openAjax();
				// A tag bgBody conterá o formulário de cadastro
				var recipiente = gE('conteudo');
				// Informamos o método e a página que será requisitada
				ajax.open('GET', "mudaPagina.php?pgS="+ID , true); 
				// bla
				ajax.onreadystatechange = function() {
					if (ajax.readyState == 1) {
			recipiente.innerHTML="<br><br><br><br><br><br><br><br><div align='center'><img src='images/loading.gif'><br>carregando...</center>";
					} // if->readyState->1
					if (ajax.readyState == 4) {
						if (ajax.status == 200) {
							// Remove o efeito de loading
							recipiente.innerHTML = ajax.responseText;										focusNome();
							loadFunctions();
							trocaMsg();
						} // if-status->200
					} // if->readyState->4
				} // ajax->onreadystatechange
					ajax.send(null);
		return false;
			} // linkBtn.onclick
		} 

	}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera fiz um iframe e funcionou, mais se alguem tiver uma solução via ajax será otimo

 

 

Ate mais

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, estou com o mesmo problema, não consigo rodar um Javascript na página chamada pelo AJAX. Já achei vários códigos, mas não consegui fazer nenhum funcionar, creio que até a função do micox (http://www.elmicox.com/category/ajax/) resolva meu problema, mas não sei direito como fazer a chamada da funçao (problema nakela pecinha entre o teclado e a cadeira, hehehe).

 

tenho o arquivo includes/ajax.php

 

<script type="text/javascript">
function ajax(){
  var xmlHttp, bComplete; //Variável que será utilizada p/ o Objeto
  try { xmlHttp=new XMLHttpRequest(); } //Firefox, Opera 8.0+, Safari
  catch (e) { try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } //Internet Explorer 6.0+
  catch (e) { try { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } //Internet Explorer 5.5+
  catch (e) { alert("Seu Browser não suporta AJAX!"); return false; }}}

  this.connect = function(sURL, sMethod, sVars, fnDone) {
	if (!xmlHttp) return false;
	bComplete = false;
	sMethod = sMethod.toUpperCase();
	try {
	  if (sMethod == "GET") {
		xmlHttp.open(sMethod, sURL+"?"+sVars, true);
		sVars = ""; }
	  else {
		xmlHttp.open(sMethod, sURL, true);
		xmlHttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1");
		xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		}
	  xmlHttp.onreadystatechange = function(){
		if (xmlHttp.readyState == 4 && !bComplete) {
		  bComplete = true;
		  fnDone(xmlHttp);
		  }
		};
	  xmlHttp.send(sVars);
	  }
	catch(z) { return false; }
	return true;
	};
  return this; 
  } 
</script>

no meu index.php

...

...

<head>
	<link rel="stylesheet" href="css/screensmall.css" type="text/css" media="screen" />
	<script>
		var myAJAX = new ajax();
		if (!myAJAX) alert("Não foi possível rodar função AJAX");

		function incluir (url, local){
			var inclusao = function (oXML) { document.getElementById(local).innerHTML = oXML.responseText; };
			document.getElementById(local).innerHTML = "<center><br /><br /><br /><br /><br /><br /><img src='images/black/loading.gif' /></center>";
			myAJAX.connect("includes/validapagina.php", "GET", "variavel="+url, inclusao);
		}
..
	   </script>
estou fazendo a chamada da troca de página:

<a href="#" onClick="incluir('../2.php', 'conteudo');">...</a>

 

 

includes/validapagina.php

<?php
	$pagina =$_GET['variavel'];
 	if(file_exists($pagina)){
		include($pagina);
		$pagina="";
		 } 
 	else {
 		
		echo "essa página não existe: "; //echo ($pagina); 
		}
?>
nesse arquivo 2.php que será aberto dentro do DIV "conteudo" do index.php começa com

uma table e uns checkbox e na sequencia eu coloquei o script que eu encontrei que ficou bem funcional e atraente p/ minha situaçao http://lipidity.com/fancy-form/.

<script type='text/javascript' src='mootools.js'></script>

<script type='text/javascript' src='moocheck.js'></script>

 

 

Abrindo http://localhost/.../2.php, funciona perfeito, mas quando eu abro pelo AJAX não funciona. Se alguem quiser me dar uma ajuda p/ fazer esse Javascript rodar dentro da função do AJAX eu agradeço muito, sabe como é, correria de TCC e ficar travado num Javascript é brabo.

Desculpem pelo tamanho do Post, mas é melhor incluir toda a parte principal do que ficar complementando aos poucos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa Tarde Nardok..

 

Se entendi direto, quando você chama o arquivo 2.php por dentro do ajax, ele não carrega os dois arquivos java script:

 

<script type='text/javascript' src='mootools.js'></script>

<script type='text/javascript' src='moocheck.js'></script>

 

tendo em vista, que os dois arquivos e sua estrutura esta certa e que você disse que , se chamar o arquivo 2.php

na url, ele funciona perfeitamente....

 

Olha, para mim isto é problema de diretório....

 

Onde estão estes dois arquivos js seu?

 

Da uma verificada nos diretórios, vejam se estão referenciado todos certos...

 

Abraços..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa Tarde Nardok..

 

Se entendi direto, quando você chama o arquivo 2.php por dentro do ajax, ele não carrega os dois arquivos java script:

 

<script type='text/javascript' src='mootools.js'></script>

<script type='text/javascript' src='moocheck.js'></script>

 

tendo em vista, que os dois arquivos e sua estrutura esta certa e que você disse que , se chamar o arquivo 2.php

na url, ele funciona perfeitamente....

 

Olha, para mim isto é problema de diretório....

 

Onde estão estes dois arquivos js seu?

 

Da uma verificada nos diretórios, vejam se estão referenciado todos certos...

 

Abraços..

fiz uma cópia desses scripts em todas as pastas, fiz varias tentativas de direcionar p/ outras pastas, ect.

Creio que não seja problema de diretório, e sim a maneira de chamar um Javascript dentro da funcao AJAX.

não estou tendo resultado com minhas tentativas diversas em cima do javascript rodar dentro do AJAX.

tentei fazer com AHAH, mas deu o mesmo resultado.

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.