none
Jquery Find() não está funcionando - Objeto esperado. RRS feed

  • Pergunta

  •         function validarCampoTipoEstabelecimento() {
                try {
                    if (trim($find("<%=wddTipoEstabelecimento.ClientID%>").get_currentValue() == "")) {
                        AlertaUsuario('O campo \'Tipo de Estabelecimento\' deve ser informado !', '0', 'wddTipoEstabelecimento')
                        return false;
                    } else {
                        return true;
                    }
                }
                catch (ex) {
                    alert(ex.message);
                }

    Esse código não funciona, a mensagem de erro é a do post. O que tem de errado?

    Obrigado.

    quinta-feira, 8 de novembro de 2012 16:17

Respostas

  • Se nem executa o método, provavelmente o jQuery não está incluido em sua página.

    Altere o codigo conforme abaixo e teste novamente.

    <script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.8.0.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function () {
            try {
                alert("Com jQuery: " + $('<%= wddTipoEstabelecimento.ClientID %>'));
            } catch (e) { }
    
            try {
                alert("Sem jQuery: " + document.getElementById('<%= wddTipoEstabelecimento.ClientID %>'));
            } catch (e) { }
        });
    </script>

    Note que agora eu fiz a inclusão do jQuery explicitamente através do CDN da Microsoft.

    Abraços.


    Washington Luíz | MCP, MCTS
    O Senhor é minha força e somente Nele confio.

    • Marcado como Resposta MarceloSchneider segunda-feira, 12 de novembro de 2012 12:00
    sexta-feira, 9 de novembro de 2012 11:51

Todas as Respostas

  • Tente buscar o controle desta forma:

    if (trim( $("body").find('<%= wddTipoEstabelecimento.ClientID %>').get_currentValue() == "")) {
    ...
    }

    Abraços.


    Washington Luíz | MCP, MCTS
    O Senhor é minha força e somente Nele confio.

    quinta-feira, 8 de novembro de 2012 16:39
  • Mudou o erro agora é :

    "Objeto não da suporte a propriedade ou método".


    quinta-feira, 8 de novembro de 2012 17:39
  • Você pode fazer assim:

    if ($("#<%=wddTipoEstabelecimento.ClientID%>").val().trim() == "") {
                        AlertaUsuario('O campo \'Tipo de Estabelecimento\' deve ser informado !', '0', 'wddTipoEstabelecimento')
                        return false;
                    } else {
                        return true;
                    }


    http://www.linkedin.com/pub/murilo-kunze/44/191/455




    • Editado Murilo Kunze quinta-feira, 8 de novembro de 2012 17:44
    quinta-feira, 8 de novembro de 2012 17:43
  • Mesmo problema... "objeto esperado"

    :/

    Em outras telas essa validação funciona.. bizarro
    quinta-feira, 8 de novembro de 2012 17:49
  • Este objeto wddTipoEstabelecimento está com a propriedade Visible = False? Ele existe na página?

    Washington Luíz | MCP, MCTS
    O Senhor é minha força e somente Nele confio.


    • Editado Washington quinta-feira, 8 de novembro de 2012 18:46
    quinta-feira, 8 de novembro de 2012 18:44
  • Ele existe sim...

     <ig:WebDropDown CssClass="clsfntpadrao"                                 ID="wddTipoEstabelecimento" "runat="server" EnablePaging="false"
    AutoPostBack="true" EnableCustomValues="false"                               DropDownOrientation="bottomleft" >
                                    </ig:WebDropDown>

    quinta-feira, 8 de novembro de 2012 18:54
  • Só por curiosidade, é um controle DropDownList com uma propriedade de paginação? :)

    Faça um teste por favor. Coloque o codigo abaixo em sua página e veja se o objeto existe:

    <script type="text/javascript">
        $(function () {
            try {
                alert("Com jQuery: " + $('<%= wddTipoEstabelecimento.ClientID %>'));
            } catch (e) { }
    
            try {
                alert("Sem jQuery: " + document.getElementById('<%= wddTipoEstabelecimento.ClientID %>'));
            } catch (e) { }
        });
    </script>
    Abraços.



    Washington Luíz | MCP, MCTS
    O Senhor é minha força e somente Nele confio.

    quinta-feira, 8 de novembro de 2012 19:11
  • Nem executa o método, "objeto esperado". :/
    sexta-feira, 9 de novembro de 2012 10:57
  • Se nem executa o método, provavelmente o jQuery não está incluido em sua página.

    Altere o codigo conforme abaixo e teste novamente.

    <script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.8.0.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function () {
            try {
                alert("Com jQuery: " + $('<%= wddTipoEstabelecimento.ClientID %>'));
            } catch (e) { }
    
            try {
                alert("Sem jQuery: " + document.getElementById('<%= wddTipoEstabelecimento.ClientID %>'));
            } catch (e) { }
        });
    </script>

    Note que agora eu fiz a inclusão do jQuery explicitamente através do CDN da Microsoft.

    Abraços.


    Washington Luíz | MCP, MCTS
    O Senhor é minha força e somente Nele confio.

    • Marcado como Resposta MarceloSchneider segunda-feira, 12 de novembro de 2012 12:00
    sexta-feira, 9 de novembro de 2012 11:51
  • Funcionou agora, na master o jquery estava referenciado incorretamente, veja como ficou:

            function validawddTipoEstabelecimento() {
                try {
                    if (trim($find("<%=wddTipoEstabelecimento.ClientID%>").get_currentValue().toString()) == "") {
                        AlertaUsuario('O campo \'Tipo Estabelecimento\' deve ser informado !', '0', 'wddTipoEstabelecimento');
                        return false;
                    } else {
                        return true;
                    }
                }
                catch (ex) {
                    alert(ex.message);
                }
            }

    Obrigado bruxo, sucesso.

    segunda-feira, 12 de novembro de 2012 11:28