Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite pessoal.
Estou com o seguinte problema...
To precisando de um select que quando clico na opção desejada ele passe a informação para outra pagina, isso com ajax.
Fiz mas so esta funcionando no Firefox, no IE não esta rodando. Vou postar meu codigo se alguem puder ajudar ficaria grato.
post.js
// JavaScript Document
/*
1. frmNome - Nome do formulário
2. url - arquivo para onde será enviado o POST
3. destino (opcional) - conteiner para onde ira a resposta
vinda do arquivo "url"
*/
function enviaAjax(frmNome, url, destino){
f = document.getElementById(frmNome);
query="";
j=0;
for(i=0;i<f.elements.length;i++){
if((f.elements[i].type=='radio' || f.elements[i].type=='checkbox' )&& !(f.elements[i].checked)){
f.elements[i].value='';
if(f.elements[i].value!=''){
query += j==0 ? '' : '&';
query += f.elements[i].name + '=' + f.elements[i].value;
j++;
}
}
else
{
query += j==0 ? '' : '&';
query += f.elements[i].name + '=' + f.elements[i].value;
j++;
}
}postajax(url, query, destino);
}
function postajax(url, query, destino){
var status = false;
var tipo_conteudo = "application/x-www-form-urlencoded; charset=UTF-8";
if(typeof destino !=='undefined')
div_resposta = document.getElementById(destino);
// Tenta criar objeto XMLHttpRequest NATIVO
if (window.XMLHttpRequest) {
requisicao = new XMLHttpRequest();
requisicao.onreadystatechange=function(){
if(requisicao.readyState==4){
if(typeof destino !=='undefined'){
//Aqui vai o processamento a ser feito
//quando o arquivo .php retornar o resultado
/*
Recebe a resposta e coloca ela no conteiner
pêgo pela variável "destino"
*/
texto=unescape(requisicao.responseText.replace(/\+/g," "));
div_resposta.innerHTML=texto;
div_resposta.style.visibility="visible";
//exibe mensagem de sucesso na tela
}
}
}
//Abre a conexão
requisicao.open("post", url, true);
//Envia os cabeçalhos
requisicao.setRequestHeader("Content-Type", tipo_conteudo);
//Envia a requisicao
requisicao.send(query);
//Status da requisicao
status = true;
} //Senão, tenta criar objeto XMLHttpRequest ActiveX (Internet Explorer)
else if (window.ActiveXObject){
requisicao = new ActiveXObject("Microsoft.XMLHTTP");
if (requisicao){
requisicao.onreadystatechange=function(){
if(requisicao.readyState==4){
if(typeof destino !='undefined'){
//Aqui vai o processamento a ser feito
//quando o arquivo .php retornar o resultado
/*
Recebe a resposta e coloca ela no conteiner
pêgo pela variável "destino"
*/
texto=unescape(requisicao.responseText.replace(/\+/g," "));
div_resposta.innerHTML=texto;
div_resposta.style.visibility="visible";
//exibe mensagem de sucesso na tela
}
}
}
//Abre a conexão
requisicao.open("post", url, true);
//Envia os cabeçalhos
requisicao.setRequestHeader("Content-Type", tipo_conteudo);
//Envia a requisicao
requisicao.send(query);
//Status da requisicao
status = true;
}
}
return status;
}
teste.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=utf-8" />
<title>Untitled Document</title>
<script language="javascript" src="js/post.js"></script>
</head>
<body>
<form id="login" name="login" method="post">
<label>
<select name="teste" id="teste">
<option value="Teste " onClick="enviaAjax('login', 'recebeTeste.php', 'atualizaInclude');">Teste </option>
<option value="Teste 2" onClick="enviaAjax('login', 'recebeTeste.php', 'atualizaInclude');">Teste 2</option>
</select>
</label>
</form>
<div id="atualizaInclude"></div>
</body>
</html>
recebeTeste.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=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php
$teste = $_POST['teste'];
echo $teste;
?>
</body>
</html>
Bom ...
ja resolvi este problema...
usei o onchance no select
<select name="teste" id="teste" onchance="enviaAjax('login', 'recebeTeste.php', 'atualizaInclude');">
te mais
Carregando comentários...