Eu criei um select onde o ajax enche ele de informação, o primeiro que fiz tinha apenas um <select name> esse funcionou normalmente, o segundo tem 2 select name esse não esta funcionando, ele enche o primeiro <select name> mas não enche o segundo, o código esta assim:
function ConsultaInicial()
{
if(ajax)
{
//deixa apenas o elemento 1 no option, os outros são excluídos
//document.forms[0].lista.options.length = 1;
document.forms[0].lista.options.length = 1;
idOpcao = document.getElementById("opcoesLista");
//var DivAguarde = document.getElementById("aguarde")
ajax.open("POST", "includes/consulta_inicial_aluno.php", true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.onreadystatechange = function()
{
if(ajax.readyState < 4)
{
}
if(ajax.readyState == 4 )
{
if(ajax.responseXML)
{
InicialXML(ajax.responseXML);
}
}
}
//passa o código do estado escolhido
var params = "";
ajax.send(params);
}
}
function InicialXML(obj)
{
//pega a tag cidade
var dataArray = obj.getElementsByTagName("Resultado");
var txtUsuario = "";
var CodigoUsuario = "";
//total de elementos contidos na tag cidade
if(dataArray.length > 0)
{
//percorre o arquivo XML paara extrair os dados
for(var i = 0; i < dataArray.length; i++)
{
var item = dataArray[i];
//contéudo dos campos no arquivo XML
var CodigoUsuario = item.getElementsByTagName("txtCont")[0].firstChild.nodeValue;
var txtUsuario = item.getElementsByTagName("txtNome")[0].firstChild.nodeValue;
idOpcao.innerHTML = "Escolha aluno";
//cria um novo option dinamicamente
var novo = document.createElement("option");
//atribui um ID a esse elemento
novo.setAttribute("id", CodigoUsuario);
//atribui um valor
novo.value = CodigoUsuario;
//atribui um texto
novo.text = txtUsuario;
//finalmente adiciona o novo elemento
document.forms[0].lista.options.add(novo);
}
}
}
Esse é o js que enche o select listaProduto:
function ConsultaInicialProduto()
{
if(ajax)
{
//deixa apenas o elemento 1 no option, os outros são excluídos
//document.forms[0].lista.options.length = 1;
document.forms[0].listaProdutos.options.length = 1;
idOpcaoProduto = document.getElementById("opcoesListaProdutos");
//var DivAguarde = document.getElementById("aguarde")
ajax.open("POST", "includes/consulta_inicial_produto2.php", true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.onreadystatechange = function()
{
if(ajax.readyState < 4)
{
}
if(ajax.readyState == 4 )
{
if(ajax.responseXML)
{
InicialXMLProduto(ajax.responseXML);
}
}
}
//passa o código do estado escolhido
var params = "";
ajax.send(params);
}
}
function InicialXMLProduto(obj)
{
//pega a tag cidade
var dataArrayProduto = obj.getElementsByTagName("ResultadoProduto");
var txtProduto = "";
var CodigoProduto = "";
//total de elementos contidos na tag cidade
if(dataArrayProduto.length > 0)
{
//percorre o arquivo XML paara extrair os dados
for(var i = 0; i < dataArrayProduto.length; i++)
{
var item = dataArrayProduto[i];
//contéudo dos campos no arquivo XML
var CodigoProduto = item.getElementsByTagName("txtContProduto")[0].firstChild.nodeValue;
var txtProduto = item.getElementsByTagName("txtNomeProduto")[0].firstChild.nodeValue;
idOpcaoProduto.innerHTML = "Escolha produto";
//cria um novo option dinamicamente
var novoProduto = document.createElement("option");
//atribui um ID a esse elemento
novoProduto.setAttribute("id", CodigoProduto);
//atribui um valor
novoProduto.value = CodigoProduto;
//atribui um texto
novoProduto.text = txtProduto;
//finalmente adiciona o novo elemento
document.forms[1].listaProdutos.options.add(novoProduto);
}
}
}
Eu sei que os dois js estão funcionando por que se eu for no load do body e retirar um o outro funciona na boa, então os dois js estão funcionando mas estão com algum conflito e pelo que entendi o probema pode estar nessa linha:
Pergunta
alexandremanowar
E a e pessoal beleza
Eu criei um select onde o ajax enche ele de informação, o primeiro que fiz tinha apenas um <select name> esse funcionou normalmente, o segundo tem 2 select name esse não esta funcionando, ele enche o primeiro <select name> mas não enche o segundo, o código esta assim:
formulário html
Esses é o js que enche o select lista: Esse é o js que enche o select listaProduto:Eu sei que os dois js estão funcionando por que se eu for no load do body e retirar um o outro funciona na boa, então os dois js estão funcionando mas estão com algum conflito e pelo que entendi o probema pode estar nessa linha:
document.forms[0].lista.options.add(novo);
document.forms[1].listaProdutos.options.add(novoProduto);
Alguém sabe como corrigir?
Valeu
Link para o comentário
Compartilhar em outros sites
2 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.