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

Erro ao carrehar a class


alexandremanowar

Pergunta

Boa tarde

Pessoal tenho duas classes js que estão funcionando normalmente quando chamado elas separadamente mas quando preciso carregar as duas ele carrega apenas uma, eu tentei chamar elas de formas diferentes e não rolou, o ideal seria chamar eles direto pelo <body onLoad="">, olha os modo que tentei:

<body onLoad="btnConsultaEquipe();btnConsultaColaborador();">

Olha minhas class:

arquivo html:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
        <title></title>
    </head>
    <body onLoad="btnConsultaEquipe();btnConsultaColaborador();">

        <!-- chama as class js para ajax -->
        &lt;script language="javascript" src="js/VerificaBrownser.js"></script>
    &lt;script language="javascript" src="js/substituir_string.js"></script>
        &lt;script language="javascript" src="js/lista_equipes.js"></script>
        &lt;script language="javascript" src="js/lista_colaborador.js"></script>
       
                        <h1>cadasto de pedidos</h1>


                          <form name="formAjax">
                                <p><b>equipe:
                                    <select name="equipe" id="equipe">
                                        <option id="opcoesEquipe" value="0">Escolha equipe</option>
                                    </select>
                                </b></p>
                                <p><b>colaborador:
                                    <select name="colaborador" id="colaborador">
                                        <option id="opcoesColaborador" value="0">Escolha colaborador</option>
                                    </select>
                                </b></p>
                            </form>

                            <p><input type="submit" value="Abrir pedido" onclick="formPedido();"></p>

                       
                                    </body>
</html>
class1
function btnConsultaEquipe()
{
    if(ajax)
    {
        document.forms[0].equipe.options.length = 1;
        idOpcao  = document.getElementById("opcoesEquipe");

        ajax.open("POST", "includes/lista_equipe.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)
            {
                EquipeXMLEquipe(ajax.responseXML);
            }

        }
            }
         //passa o código do estado escolhido
         var params = "";
             ajax.send(params);

    }
}

function EquipeXMLEquipe(obj)
{
  //pega a tag cidade
    var dataArray   = obj.getElementsByTagName("Resultado");
    var equipe = "";
        var CodigoEquipe = "";

    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
                    CodigoEquipe  =  item.getElementsByTagName("codigo")[0].firstChild.nodeValue;
                    equipe =  item.getElementsByTagName("equipe")[0].firstChild.nodeValue;

                    idOpcao.innerHTML = "Escolha equipe";

                    //cria um novo option dinamicamente
                    var novo = document.createElement("option");
                    //atribui um ID a esse elemento
                    novo.setAttribute("id", CodigoEquipe);
                //atribui um valor
                    novo.value = CodigoEquipe;
                //atribui um texto
                    novo.text  = equipe;
                    //finalmente adiciona o novo elemento
                    document.forms[0].equipe.options.add(novo);
            }
          
      }
      else
      {
        alert("erro");
      }

 }
class2
function btnConsultaColaborador()
{
    if(ajax)
    {
        document.forms[0].colaborador.options.length = 1;
        idOpcao  = document.getElementById("opcoesColaborador");

        ajax.open("POST", "includes/lista_colaborador.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)
            {
                EquipeXML(ajax.responseXML);
            }

        }
            }
         //passa o código do estado escolhido
         var params = "";
             ajax.send(params);

    }
}

function EquipeXML(obj)
{
  //pega a tag cidade
    var dataArray   = obj.getElementsByTagName("Resultado");
    var colaborador = "";
        var CodigoColaborador = "";

    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
                    CodigoColaborador  =  item.getElementsByTagName("codigo")[0].firstChild.nodeValue;
                    colaborador =  item.getElementsByTagName("colaborador")[0].firstChild.nodeValue;

                    idOpcao.innerHTML = "Escolha colaborador";

                    //cria um novo option dinamicamente
                    var novo = document.createElement("option");
                    //atribui um ID a esse elemento
                    novo.setAttribute("id", CodigoColaborador);
                //atribui um valor
                    novo.value = CodigoColaborador;
                //atribui um texto
                    novo.text  = colaborador;
                    //finalmente adiciona o novo elemento
                    document.forms[0].colaborador.options.add(novo);
            }
      }
      else
      {
        alert("erro");
      }

 }

É como eu falei se eu chamar apenas uma class <body onLoad="btnConsultaEquipe();"> ele carrega se eu deixar as duas ele carrega apenas a primeira, porque esta dando esse problema?

Editado por alexandremanowar
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Cara, não li o código todo, por pura preguiça :blush:

Mas vi que está usando ajax, pode ser que esteja tentando fazer duas requisições com o mesmo objeto ajax. Isso não funcionará, já que o objeto XMLHTTP tende a cortar a conexão atual que está sendo estabelecida pela outra que está tentando abrir.

Você tem duas alternativas ao usar ajax para carregar dois ou mais conteúdos diferentes.

A primeira é fazer uma fila, onde a primeira requisição vai terminar para só depois você chamar a segunda.

A segunda é mais fácil, instanciar um novo objeto XMLHTTP para fazer a nova requisição ao servidor.

Repito, se estiver fazendo uma requisição e tentar abrir outra, o objeto vai cortar a primeira requisição e fará sempre a última.

Link para o comentário
Compartilhar em outros sites

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,3k
    • Posts
      652,3k
×
×
  • Criar Novo...