Esse é meu primeiro post e para cria-lo já rodei por 32 páginas antes, para tentar entender o que eu estou precisando e não consegui. Tenho certeza que para os que estão mais habituados com Ajax, rapidamente vão entender e me ajudar, espero.
Então:
Estamos desenvolvendo uma solução, onde o usuário através de um combo chamado princial, seleciona uma operadora de telefonia:
As operadora são listas no combo e quando selecionadas, utilizando o onChange, chama a função que carrega o segundo combo com as faturas dessa operadora.
NECESSIDADE:
Pegar o ID do segundo combo para que eu possa gravar no banco de dados.
//CRIA A VARIÁVEL RETORNO
var retorno;
function CarregaArquivo(url,valor)
{
retorno = null;
//CRIA O OBJETO HttpRequest PARA O RESPECTIVO NAVEGADOR
//Mozilla Fire Fox / Safari ...
//
if (window.XMLHttpRequest) {
retorno = new XMLHttpRequest();
//SETA A FUNÇÃO QUE SERÁ CHAMADA QUANDO O AJAX DER UM RETORNO
retorno.onreadystatechange = processReqChange;
//ABRE A REQUISIÇÃO AJAX, PASSANDO O MÉTODO DE ACESSO, URL E O PARÂMETRO
retorno.open("GET", url+'?principal='+valor, true);
//INICIA O TRANSPORTA DOS OBJETOS NA REQUISIÇÃO
retorno.send(null);
} else if (window.ActiveXObject) {
//
//IE
//
retorno = new ActiveXObject("Microsoft.XMLHTTP");
if (retorno) {
//SETA A FUNÇÃO QUE SERÁ CHAMADA QUANDO O AJAX DER UM RETORNO
retorno.onreadystatechange = processReqChange;
//ABRE A REQUISIÇÃO AJAX, PASSANDO O MÉTODO DE ACESSO, URL E O PARÂMETRO
retorno.open("GET", url+'?principal='+valor, true);
//INICIA O TRANSPORTA DOS OBJETOS NA REQUISIÇÃO
retorno.send();
}
}
}
//FUNÇÃO QUE TRATA O RETORNO DO AJAX
function processReqChange()
{
//CASO O STATUS DO AJAX SEJA OK, CHAMA A FUNÇÃO mudar()
//A LISTA COMPLETA DOS VALORES readyState É A SEGUINTE:
//0 (uninitialized)
//1 (a carregar)
//2 (carregado)
//3 (interactivo)
//4 (completo)
if (retorno.readyState == 4)
{
if(retorno.status == 200)
{
//PROCURA PELA DIV MOSTRACOMBO E INSERE O OBJETO
document.getElementById('mostraCombo').innerHTML = retorno.responseText;
}
else
{
//MOSTRA UM ALERTA AO OBTER UM RETORNO DE OK.
alert("Houve um problema ao obter os dados:n" + retorno.statusText);
}
}
}
//FUNÇÃO MUDAR, QUE CHAMA AS INFORMAÇÕES PASSADAS NO PARÂMETRO E CARREGA O ARQUIVO EXTERNO
function mudar(valor)
{
//CARREGA O ARQUIVO EXTERNO DO AJAX
CarregaArquivo("mostra_combo.php",valor);
}
---mostra_combo “consulta sql referenciando a operadora para trazer as “faturas””
$sqlFatura = "SELECT FAT.FAT_ID AS ID, FAT.VALOR AS VALOR, FAT.FAT_MES_REF AS MES FROM COM_FATURA FAT WHERE FAT.OPE_ID = '".$_GET['principal']."'";
$sqlFatura = ociparse($obj,$sqlFatura) or die("Erro");
ociexecute($sqlFatura,OCI_DEFAULT);
while (ocifetch($sqlFatura))
{
?>
<option value="<?= ociresult($sqlFatura,'ID');?>"><? echo ociresult($sqlFatura,'MES');?> </option>
<?
}
ocifreestatement($sqlFatura);
ocilogoff($sqlFatura);
?>
</select>
$fat_id = $_POST['combofinal'];
$sql4 = ociparse($obj,"INSERT INTO COM_MOV_LIGACAO_FIXO (OPE_ID, FAT_ID, NUMERO, DATA_LIGACAO, NUMERO_DISCADO, HORA_INICIO, DURACAO, VALOR, TRONCO, TIPO_LIGACAO) VALUES('$ope_id','$fat_id','$telefone', TO_DATE('$dataLigacao','DD/MM/YYYY'),'$numeroDiscado', TO_DATE('$horaInicio','HH24:MI:SS'), TO_DATE('$duracao','HH24:MI:SS'), '$valor','$tronco', '$tipoLigacao')") or die("Erro");
Espero que tenha passado a minha necessidade, quem puder ajudar desde já agradeço
Pergunta
supinet
Bom dia!
Prezados Senhores,
Esse é meu primeiro post e para cria-lo já rodei por 32 páginas antes, para tentar entender o que eu estou precisando e não consegui. Tenho certeza que para os que estão mais habituados com Ajax, rapidamente vão entender e me ajudar, espero.
Então:
Estamos desenvolvendo uma solução, onde o usuário através de um combo chamado princial, seleciona uma operadora de telefonia:
As operadora são listas no combo e quando selecionadas, utilizando o onChange, chama a função que carrega o segundo combo com as faturas dessa operadora.
NECESSIDADE:
Pegar o ID do segundo combo para que eu possa gravar no banco de dados.
---chamada do arquivo com o JS
--- Primeiro combo listando diretamente do BD ---Segundo combo carregado pela DIV ---Como pegar esse ID aqui que o usuário selecionou para que eu possa gravar no banco de dados --- arquivo_ajax.jsEspero que tenha passado a minha necessidade, quem puder ajudar desde já agradeço
Link para o comentário
Compartilhar em outros sites
13 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.