none
Usando Master Pages. RRS feed

  • Pergunta

  • Bom Dia, tenho um problema que está me prendendo muito.
    

    Seguinte, tenho um projeto de Web e uso Master Pages e algumas funções JavaScripts, o problema é o seguinte, tenho uma função em um botão na minha página, quando clico nele, ele gera o seguinte erro: "Erro em tempo de execução do Microsoft JScript: Objeto necessário".

     

    function Acompanhamento(clip) {
        
          var id_clip = document.getElementById("hddTpClippingAcompanhamento");
    
          var url = "Acompanhamento/Listagem.aspx?CLIP=" + clip + "&ID_CLIPPING=" + id_clip.value; //S - Tem clipping no hidden | N - Não tem clipping no hidden
          window.open(url, 'Acompanhamento_Listagem', 'Width=550,Height=530,status=false,help=no,left=0,right=0,resizable=no,status=no,scroll=no');
        }
    

     

    O que estou percebendo é que o Hidden não está sendo pego, e não consigo achar a solução para tal erro.

    Vou debugando o programa, e esse id_clip retorna pra mim como "null" quando o certo seria voltar "object", para ai sim pegar o hidden.

     

    Declaração do meu hidden, ele está dentro de um form: 

    <input type="hidden" id="hddTpClippingAcompanhamento" name="hddTpClippingAcompanhamento" runat="server" />
    

     

    Alguém sabe o que pode ser? Nunca trabalhei com Master Pages e estou encontrando dificuldades.

     

    Aguardo ajuda.

    Vaaleu !

    segunda-feira, 26 de julho de 2010 13:28

Respostas

  • Hi,

    para resolver isso faca o seguinte coloque o hidden dentro de um div assim:

    <div id="div_hddTpClippingAcompanhamento">
    <input type="hidden" id="hddTpClippingAcompanhamento" name="hddTpClippingAcompanhamento" runat="server" />
    </div>
    

    e na sua funcao javascript voce coloca assim:

    ...
    var id_clip = document.getElementById("div_hddTpClippingAcompanhamento").children[0];
    ...
    

    porque isso?

    quando voce coloca seu hidden como runat="server" ele vai ser compilado pelo servidor e o servidor vai mudar o id dele. assim voce nao vai poder pegar ele pelo id.

    dessa forma que eu propus, colocando ele dentro de um div voce pode pegar o div pelo id e pegar ele atravez do children[0].

    Att,


    codeco Adriel Codeco Silva
    Email: adriel.silva@uppercase.com.br
    MSN: adrielcodeco@hotmail.com
    Blog: adrielcodeco.wordpress.com
    Uppercase – www.uppercase.com.br
    quinta-feira, 5 de agosto de 2010 01:54
    Moderador

Todas as Respostas

  • Quando vc coloca a tag Runat="Server" o servidor costuma alterar o clientId do controle.

    Abra o HTML e veja se o cliente id continua "exatamente o mesmo". Isso pode estar fazendo seu controle não ser acessado pelo DOM(JAVA Script 

    Aguardo seu feedback.

     

     

    Tiago Santos

    Caso este poste seja útil não deixe de marca-lo como tal.

     

     

     


    Tiago Novaes (MSP, MCP)- http://www.atitudebrasil.net - Blog: http://www.atitudebrasil.net/blogs/tiagosantos
    segunda-feira, 26 de julho de 2010 23:10
  • Hi,

    para resolver isso faca o seguinte coloque o hidden dentro de um div assim:

    <div id="div_hddTpClippingAcompanhamento">
    <input type="hidden" id="hddTpClippingAcompanhamento" name="hddTpClippingAcompanhamento" runat="server" />
    </div>
    

    e na sua funcao javascript voce coloca assim:

    ...
    var id_clip = document.getElementById("div_hddTpClippingAcompanhamento").children[0];
    ...
    

    porque isso?

    quando voce coloca seu hidden como runat="server" ele vai ser compilado pelo servidor e o servidor vai mudar o id dele. assim voce nao vai poder pegar ele pelo id.

    dessa forma que eu propus, colocando ele dentro de um div voce pode pegar o div pelo id e pegar ele atravez do children[0].

    Att,


    codeco Adriel Codeco Silva
    Email: adriel.silva@uppercase.com.br
    MSN: adrielcodeco@hotmail.com
    Blog: adrielcodeco.wordpress.com
    Uppercase – www.uppercase.com.br
    quinta-feira, 5 de agosto de 2010 01:54
    Moderador
  • Utilize o firebug do Firefox por exemplo, e veja qual o id que esta sendo gerado para o seu hidden. Att.
    quinta-feira, 31 de março de 2011 11:52