Quantcast
Channel: Últimos conteúdos
Viewing all articles
Browse latest Browse all 14190

Return não funciona em funções Javascript

$
0
0

Galera, estou tendo uma dificuldade em trabalhar com o Javascript quando preciso usar o "return" no final de uma função para retornar algum valor...

 

Por exemplo, preciso retornar o ID de um logradouro porém quando clico no botão salvar e chamo a minha função e dou um alert para ver o resultado ele diz "undefined", porém no Debug que eu fiz o valor está vindo corretamente.

 

Para entender melhor está assim meu codigo..

 

Função logradouro:

var Logradouro = {    
    
    //variaveis
        logradouro_id       : '',
        tipo_logradouro_id  : '',
        logradouro          : '',

    loadLogradouro: function(input,form,seletorOrigem,seletor,selected){
        var text = input;

        if(text === '') {
                $$("#"+form+" #"+seletor).html("");                
            } else {                
                _db.transaction(function (tx){
                    tx.executeSql("select * from logradouro where logradouro like '"+text+"%' limit 5",[], function (tx,res){
                        //console.log(JSON.stringify(res));
                        var dataset = res.rows;
                        var str = "";

                        for(var i=0; i < dataset.length; i++){
                           var obj = dataset.item(i);
                            str += '<option value="'+obj.LOGRADOURO+'">';
                        }

                       $$("#"+form+" #"+seletor).html(str);
                       $$("#"+form+" #"+seletorOrigem).addClass('focus-state active-state');
                    },function(t,e){
                        Funcoes.alerta('Error: '+e.message,'Aviso');
                    });
                });
            }

    },

    getId: function(){
        _db.transaction(function (tx){
            tx.executeSql("select * from logradouro where logradouro like '"+Logradouro.logradouro+"%' limit 1",[], function (tx,res){                    
                    var dataset = res.rows;
                    var obj = dataset.item(0);

                    console.log(JSON.stringify(obj.LOGRADOURO_ID));
                    
                    return obj.LOGRADOURO_ID;                                
                },function(t,e){
                    Funcoes.alerta('Error: '+e.message,'Aviso');
            });
        });
    },

    salvarNovo: function(){
        _db.transaction(function (tx){
            tx.executeSql("select max(logradouro_id) as CODIGO from logradouro",[], function (ts,res){                    
                    var dataset = res.rows;
                    var obj = dataset.item(0);
                    var codigoId = (parseInt(obj.CODIGO) + 1);

                    var query = "insert into logradouro "+
                    "(logradouro_id, tipo_logradouro_id, ) "+
                    "values ('"+codigoId+"','33','"+Logradouro.logradouro+"',)";
                    
                    ts.executeSql(query, [], function (ts,res){
                        return codigoId;
                    }, function (t,e){
                        Funcoes.alerta('Error: '+e.message,'Aviso');
                    });
                                        
                },function (t,e){
                    Funcoes.alerta('Error: '+e.message,'Aviso');
            });
        });
    }
    
};

Quando eu clico no botão salvar eu faço isto aqui:

var Ficha= {    
    
   
    salvarDados: function(){
        //recebendo variaveis        
        
        Logradouro.logradouro        = $$("#ficha #logradouro").val();
        var teste = Logradouro.getId();

        alert(teste);
       
    }
    
};

Viewing all articles
Browse latest Browse all 14190