Jump to content

Archived

This topic is now archived and is closed to further replies.

Tuk

'id' is null or not an object

Recommended Posts

Tenho o seguinte script JS

 

<script type="text/javascript"  charset="ISO-8859-1" >
       $(document).ready(function(){//inicio o jQuery
               $("select[name='estados']").change(function(){
               var idCombo1 = $(this).val();//pegando o value do option selecionado
               //alert(idCombo1);//apenas para debugar a variável

			   if( idCombo1=='0' )
                               return resetaCombo('cidades');

                       $.getJSON( ////esse método do jQuery, só envia GET
                               'function.inc.php',//script server-side que deverá retornar um objeto jSON
                               {idCombo1: idCombo1},//enviando a variável

                               function(data){
                               //alert(data);//apenas para debugar a variável

                                       var option = new Array();//resetando a variável

                                       resetaCombo('cidades');//resetando o combo
                                       $.each(data, function(i, obj){

                                               option[i] = document.createElement('option');//criando o option
                                               $( option[i] ).attr( {value : obj.id} );//colocando o value no option
                                               $( option[i] ).append( obj.nome );//colocando o 'label'

                                               $("select[name='cidades']").append( option[i] );//jogando um à um os options no próximo combo
                               });
                       });
               });
       });     

       /* função pronta para ser reaproveitada, caso queira adicionar mais combos dependentes */
       function resetaCombo( el )
       {
               $("select[name='"+el+"']").empty();//retira os elementos antigos
               var option = document.createElement('option');                                  
               $( option ).attr( {value : '0'} );
               $( option ).append( 'Escolha' );
               $("select[name='"+el+"']").append( option );
       }
       </script>

 

integrado com este php

<?php
       header("Content-Type: text/html; charset=ISO-8859-1");

       function intGet( $campo ){
               return isset( $_GET[$campo] ) ? (int)$_GET[$campo] : 0;
       }       
       function retorno( $id )
       {
               $sql = "SELECT `id`, `nome` 
                       FROM `bairro` 
                       WHERE `cidade` = {$id} ";
               $sql .= "ORDER BY `nome` ";


               include "config.php";


               //$q = $mysqli->query( $sql ); 
               $q = mysql_query( $sql );


               $json = ' [';
               //if( $q->num_rows > 0 )
               if( mysql_num_rows( $q ) > 0 )
               {
                       //while( $dados = $q->fetch_object() )
                       while( $dados = mysql_fetch_assoc( $q ) )
                       {
                               //$json .= '{"nome'.$campo.'":"'.$dados->nome.'","id'.$campo.'":"'.$dados->id.'"}, ';
                            $json .= '{"nome":"'.$dados['nome'].'","id":"'.$dados['id'].'"}, ';
                       }
               }
               else
                       $json .= '{"nome": "Não Encontrado"}';

               $json .= ']';

               return $json;
       }

       echo retorno( intGet('idCombo1') );

 

 

Acontece o erro do titulo quando ao alterar um select no IE 7, queria saber se tem como bloquear esses erros de script do IE 7 ou solucionar o problema ai no caso.

 

Obrigado

Share this post


Link to post
Share on other sites

não vi erro neste script.

 

em qual linha o ie7 mostrou ?

 

outro script meu :lol:

Share this post


Link to post
Share on other sites

boa pergunta, não sei como funciona essa contagem do IE, pq somando esses dois arquivos ai, não dá 91 linhas.

 

As informações que ele dá são:

 

Erro no scrpt da página.

 

Linha 91

Caractere 49

Erro : id is null or not an object

Código : 0

Url : index2.php

 

no código fonte a linha 91 é

" $( option ).attr( {value : obj.id} );//colocando o value no option"

 

Se contar os espaços o caractere 49 é "$"

Share this post


Link to post
Share on other sites

Exibir > Código Fonte

 

vá até a linha 91, e poste aqui os arredores dela.

Share this post


Link to post
Share on other sites
Linha 91

Caractere 49

Erro : id is null or not an object

Código : 0

Url : index2.php

 

no código fonte a linha 91 é

" $( option[i] ).attr( {value : obj.id} );//colocando o value no option"

 

Se contar os espaços o caractere 49 é "$"

 

arredores:

 

resetaCombo('cidades');//resetando o combo
                                       $.each(data, function(i, obj){

                                               option[i] = document.createElement('option');//criando o option
                                               $( option[i] ).attr( {value : obj.id} );//colocando o value no option
                                               $( option[i] ).append( obj.nome );//colocando o 'label'

                                               $("select[name='cidades']").append( option[i] );//jogando um à um os options no próximo combo
                               });
                       });
               });
       });

Share this post


Link to post
Share on other sites

                                function(data){
                               alert(data);//apenas para debugar a variável

diga oque voltar desse alert no ie

 

$.each(data, function(i, obj){
alert( obj );

diga oque voltar deste também.

 

possívelmente foi alguma alteração no parser de JSON do jQuery, entre a versão com a qual eu desenvolvi este script, e a que você está usando.

Share this post


Link to post
Share on other sites

"[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]..."

 

No primeiro alert

 

"[object Object]"

Varios alerts com isso.

 

 

Eu uso a mesma versão de jquery que você usou no tutorial 1.3.2

Share this post


Link to post
Share on other sites

tá tudo certo..

 

comenta o primeiro alert, e coloca assim:

$.each(data, function(i, obj){
alert( ' id: '+ obj.id+' na linha: '+i );

se alguma voltar: id: undefined na linha.. ... me diga qual linha foi

Share this post


Link to post
Share on other sites

nenhuma voltou undefined, só no final de todas ele deu o alert

 

id is null... na linha 89 caractere 11

 

Linha 89 que é a que eu adicionei

alert( ' id: '+ obj.id+' na linha: '+i );

 

 

O erro mudou de linha, mas continua

Share this post


Link to post
Share on other sites

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.