Ir para conteúdo

POWERED BY:

Arquivado

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

Elnata Levi Costa

[Resolvido] função jquery para atualizar o idioma da pagina!

Recommended Posts

Olá pessoal o que tem errado em meu código? (se é que tem algo!)

 

<script type="text/javascript">

 

jQuery(document).ready(function(){

jQuery("#lista").change(function(){

window.location = $(this).val();

}};

}};

</script>

 

 

Então pessoal este é meu codigo, onde eu crio um formulario com options com idiomas diferentes que são buscados no banco de dados, que ao clickar muda o idioma ou seja envia o formulario para alterar o idioma mas não funciona :S, o código php completo é este:

 

 


<?php

include("config.php");

if(isset($_GET['lang']) &&  $_GET['lang'] != null){	

$novoidioma = $_GET['lang'];
$path = "idiomas/".$novoidioma.".php";	

if(file_exists($path)){

	setcookie("idioma", $novoidioma, time()+(24*3600*30));
	$arq = $_SERVER['PHP_SELF'];
	$arq2 = explode("/", $arq);
	$arq3 = end($arq2);

	}

}
if(isset($_COOKIE['idioma'])) {

	$idioma = $_COOKIE['idioma'];
	$caminho = "idiomas/".$idioma.".php";
	if(file_exists($caminho)){
		include($caminho);	

	}else{

		exit();

	}

}else{

	setcookie("idioma","portugues", time()+(24*3600*30));			
	include("idiomas/portugues.php");
}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sem título</title>
<script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>

<script type="text/javascript">

jQuery(document).ready(function(){
	jQuery("#lista").change(function(){
		window.location = $(this).val();
	}};
}};
	</script>
</head>

<body>


<h1><?php echo $lang['Empresa'] ?></h1>

<form id="forml" name="forml" method="post" action="">
 <select name="lista" id="lista">
       <?php
	$idiomascds = mysql_query ("SELECT nome,arquivo FROM idiomas");
	while($linha = mysql_fetch_assoc($idiomascds)){



		$selected = ($_COOKIE['idioma'] == $linha['arquivo']? 'selected ="selected"':'');

		?>
		<option value="?lang=<?php echo $linha['arquivo']; ?>" <?php echo $selected; ?> /> <?php echo $linha ['nome']; ?></option>			
		<?php	

				}		

		?>
       </select>
</form>

</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

deixe assim:

 

document.location.href = $(this).val();

 

e o teu option, deixe assim:

<option value="?lang=<?php echo $linha['arquivo']; ?>" <?php echo $selected; ?> > <?php echo $linha ['nome']; ?></option> 

tava sobrando uma barra ali.

Compartilhar este post


Link para o post
Compartilhar em outros sites

deixe assim:

 

document.location.href = $(this).val();

 

e o teu option, deixe assim:

<option value="?lang=<?php echo $linha['arquivo']; ?>" <?php echo $selected; ?> > <?php echo $linha ['nome']; ?></option> 

tava sobrando uma barra ali.

 

A amigo... continuou sem funcionar o código veja como o deixei:

 



<?php

include("config.php");

if(isset($_GET['lang']) &&  $_GET['lang'] != null){	

$novoidioma = $_GET['lang'];
$path = "idiomas/".$novoidioma.".php";	

if(file_exists($path)){

	setcookie("idioma", $novoidioma, time()+(24*3600*30));
	$arq = $_SERVER['PHP_SELF'];
	$arq2 = explode("/", $arq);
	$arq3 = end($arq2);

	}

}
if(isset($_COOKIE['idioma'])) {

	$idioma = $_COOKIE['idioma'];
	$caminho = "idiomas/".$idioma.".php";
	if(file_exists($caminho)){
		include($caminho);	

	}else{

		exit();

	}

}else{

	setcookie("idioma","portugues", time()+(24*3600*30));			
	include("idiomas/portugues.php");
}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sem título</title>
<script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>

<script type="text/javascript">

jQuery(document).ready(function(){
	jQuery("#lista").change(function(){
		document.location.href = $(this).val();
	}}; [color="#FF0000"]<!--(OBS.:Ele apresenta erro nesta linha aqui)-->[/color]
}};
	</script>
</head>

<body>


<h1><?php echo $lang['Empresa'] ?></h1>

<form id="forml" name="forml" method="post" action="#">
 <select name="lista" id="lista">
       <?php
	$idiomascds = mysql_query ("SELECT nome,arquivo FROM idiomas");
	while($linha = mysql_fetch_assoc($idiomascds)){



		$selected = ($_COOKIE['idioma'] == $linha['arquivo']? 'selected ="selected"':'');

		?>
		<option value="?lang=<?php echo $linha['arquivo']; ?>" <?php echo $selected; ?> > <?php echo $linha ['nome']; ?></option> 	
		<?php	

				}		

		?> 

       </select>

</form>

</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual erro "ele" apresenta ?

 

"ele" quem ?

 

aparece algo no console de erros ? Ctrl+Shift+J no Firefox.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esquece o dreamweaver, ele é muito ruim e não serve para debug.

 

vai no firefox e aperta da combinação de teclas que eu disse, ai sim você vai conseguir ver o erro corretamente.

http://wbruno.com.br/2011/03/31/como-debugar-javascript-firefox-erros-comuns/

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza.. agora vi. Deixe assim:

 

 jQuery(document).ready(function(){
               jQuery("#lista").change(function(){
                       document.location.href = $(this).val();
               )};
       )};

 

estava }} e deveria ser )}

 

Corrija ai.

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza.. agora vi. Deixe assim:

 

 jQuery(document).ready(function(){
               jQuery("#lista").change(function(){
                       document.location.href = $(this).val();
               )};
       )};

 

estava }} e deveria ser )}

 

Corrija ai.

 


<?php

include("config.php");

if(isset($_GET['lang']) &&  $_GET['lang'] != null){	

$novoidioma = $_GET['lang'];
$path = "idiomas/".$novoidioma.".php";	

if(file_exists($path)){

	setcookie("idioma", $novoidioma, time()+(24*3600*30));
	$arq = $_SERVER['PHP_SELF'];
	$arq2 = explode("/", $arq);
	$arq3 = end($arq2);

	}

}
if(isset($_COOKIE['idioma'])) {

	$idioma = $_COOKIE['idioma'];
	$caminho = "idiomas/".$idioma.".php";
	if(file_exists($caminho)){
		include($caminho);	

	}else{

		exit();

	}

}else{

	setcookie("idioma","portugues", time()+(24*3600*30));			
	include("idiomas/portugues.php");
}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sem título</title>
<script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>

<script type="text/javascript">
jQuery(document).ready(function(){
               jQuery("#lista").change(function(){
                       document.location.href = $(this).val();
			)};
       )};
	</script>
</head>

<body>


<h1><?php echo $lang['Empresa'] ?></h1>

<form id="forml" name="forml" method="post" action="">
 <select name="lista" id="lista">
       <?php
	$idiomascds = mysql_query ("SELECT nome,arquivo FROM idiomas");
	while($linha = mysql_fetch_assoc($idiomascds)){



		$selected = ($_COOKIE['idioma'] == $linha['arquivo']? 'selected ="selected"':'');

		?>
		<option value="?lang=<?php echo $linha['arquivo']; ?>" <?php echo $selected; ?> > <?php echo $linha ['nome']; ?></option> 	
		<?php	

				}		

		?> 

       </select>

</form>

</body>
</html>

 

Tah aew mano mas continua o mesmo erro a mesma coisa, não atualiza e no console do firefox aparece as mesmas coisas! :wacko:

Compartilhar este post


Link para o post
Compartilhar em outros sites

agora tá certo.

 

limpa o console, dá um F5 e vê denovo lá.

Compartilhar este post


Link para o post
Compartilhar em outros sites

agora tá certo.

 

limpa o console, dá um F5 e vê denovo lá.

 

Mesma mano, e tbm ta dando um erro na linha 36 php e este ai:

Warning: Cannot modify header information - headers already sent by (output started at /home/voemerco/public_html/teste2.php:2) in /home/voemerco/public_html/teste2.php on line 36

 

meu site e esse aew: http://voemercosul.com.br/teste2.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

é ao contrário:

 

jQuery(document).ready(function(){
jQuery('#lista').change(function(){
	document.location.href = $( this ).val();
});
});

Compartilhar este post


Link para o post
Compartilhar em outros sites

é ao contrário:

 

jQuery(document).ready(function(){
jQuery('#lista').change(function(){
	document.location.href = $( this ).val();
});
});

 

Perfeitoooo manoo nem sei como lhe agradecer!!! rsrs funcionou certinhoo!!! rsrs

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.