Ir para conteúdo
Fórum Script Brasil
  • 0

erro no <select name>


alexandremanowar

Pergunta

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

<?php

include "includes/session.php";
?>
    <html>
    <body onLoad="ConsultaInicial();ConsultaInicialProduto();"> 

<style type="text/css">
</style>
    
    include "inc/coluna_centro.inc";

    <LINK REL="STYLESHEET" HREF="css/estilo.css" TYPE="text/css">
    
        <script language="javascript" src="js/VerificaBrownser.js"></script>
        <script language="javascript" src="js/consulta_inicail_aluno.js"></script>
        <script language="javascript" src="js/consulta_inicial_produto.js"></script>
        <script language="javascript" src="js/focar.js"></script>
        
                
               
        <form name="frmAjax">
        <fieldset class="fieldset1_1">
        <span class="campo1">aluno<span class="campo1_1">(s)</span>:</span> <select name="lista" id="lista" onChange="btnConsulta(this.value);">
        <option id="opcoesLista" value="0">Escolha aluno</option>
        </select>
        </fieldset>
        </form>

        <form name="frmAjax1">
        <fieldset class="fieldset1_1">
        <span class="campo1">produtos<span class="campo1_1">(s)</span>:</span>  <select name="listaProdutos" id="listaProdutos">
        <option id="opcoesListaProdutos" value="0">Escolha produto</option>
        </select>
        </fieldset>
        </form>
        
        
        
</body>
</html>
Esses é o js que enche o select lista:
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:

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...