Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

renan.miranda

Pegando Resultado Remotamente E Transformando Em Variável

Recommended Posts

Certo galera, vamos lá.

Eu tenho um script que verifica a existência de um determinado dado no banco de dados que está funcionando perfeitamente, mas gostaria de implementar algumas funcionalidades, como o caso de desabilitar o botão de submit caso ele retorne que aquele dado exista no banco, evitando assim a duplicidade.
Tentei de todas as formas, li artigos, e fui chutando como deveria ficar, mas não obtive um resultado.

Abaixo ele está todo comentado.

 

$(function(){ // declaro o início do jquery
                                        
        $("input[name='nick_reg']").blur( function(){ //--> PEGA A FUNÇÃO DE BLUR DO CAMPO
                                                
        var nick_reg = $("input[name='nick_reg']").val(); //--> SETA O INPUT DO NICK
        var botao = document.getElementById("registrar") ; //-> SETA O BOTÃO PARA EU MODIFICAR O CSS
                                                
        if ( document.getElementById("nick_reg").value == "")  { //--> AQUI ELE VERIFICA SE O CAMPO ESTA EM BRANCO
            $("#resultado").html(""); //--> LIMPA O RESULTADO
            document.getElementById('registrar').disabled = true; //--> DESATIVA O BOTÃO
            botao.style.backgroundColor = "#CCCCCC" ; //-- MUDA A COR DO BOTÃO
        
        } //--> FIM DA FUNÇÃO
                                        
        if ( document.getElementById("nick_reg").value != "" )  { //--> AQUI ELE IDENTIFICA QUE O CAMPO NÃO ESTÁ MAIS EM BRANCO 
        document.getElementById('registrar').disabled = false; //--> ATIVA O BOTÃO
        botao.style.backgroundColor = "#FFCC00" ; //--> MUDA A COR DO BOTÃO
                                                         
        $.post('verificar.php',{nick_reg: nick_reg},function(data){ //FAZ A CONSULTA NO BANCO
        $('#resultado').html(data); //--> MOSTRA O RESULTADO QUE VEM DO verifica.php
        });
    }
  
 });

});// fim do jquery

No caso, ele me retorna o valor do $('#resultado').html(data) como "EXISTE" e "NÃO EXISTE".

O que gostaria de fazer é, ao retornar o valor "EXISTE" ele desabilite o botão, e em caso de "NÃO EXISTE" ele deixa o botão habilidade para registro.

Desde já agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 $('#resultado').html(data); //retorna se existe ou não existe?

 

Se for isso tente assim:

 

if(data != "")

{

// existe

$('#id_do_submit').attr('disabled', false);

}

else

{

// não existe

$('#id_do_submit').attr('disabled', true);

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu meus amigos, mas não é bem isso não...

No caso, os textos "existe" e "não existe", são retornados de uma consulta no banco de dados, onde ele retorna o echo que vem de lá e "printa" no script acima. O que estou tentando fazer é transformar essa palavra que vem em variável, pra poder fazer o if e o else.

 

Deu pra entender?

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo, posso fazer o php gerar uma variável lá no verificar.php, mas como eu faço no JavaScript ele identificar qual é a variável? Porque no PHP é simples, é usando $variavel = 'EM USO' por exemplo, mas e no java?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não rolou não colega. Seguinte, você viu que lá em cima eu coloquei o código java que pega o resultado que vem do verifica.php e converte no resultado de uma div chamada #resultado. Seguindo uma lógica, bastaria eu criar um if declarando que quando o #resultado fosse igual a "existe" ele executaria a função de desabilitar o botão, senão, ele habilitaria, pois é, eu não sei como "pegar" esse texto.

 

Seria como algo :

 

if($('#resultado').html(data) == 'EM USO'){
  document.getElementById('registrar').disabled = true; //--> ATIVA O BOTÃO
  botao.style.backgroundColor = "#CCCCCC" ; //--> MUDA A COR DO BOTÃO
  exit;
}else{
  document.getElementById('registrar').disabled = true; //--> DESATIVA O BOTÃO
  botao.style.backgroundColor = "#FFCC00" ; //-- MUDA A COR DO BOTÃO
							
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem galera, consegui. Estou repassando caso mais alguém passe por essa dúvida.

 

Eu adicionei a seguinte linha:

 

  $('#resultado').html(data); //--> MOSTRA O RESULTADO QUE VEM DO verifica.php
  
  String.prototype.stripHTML = function() {return this.replace(/<.*?>/g, '');} //- REMOVER TAGS HTML
  var mostra = document.getElementById('resultado').innerHTML; //- PEGA O VALOR DA DIV
  mostra = mostra.stripHTML(); //- REMOVE AS TAGS
						
  if (mostra == "EM USO"){ //-- FAZ A VERIFICAÇÃO PARA DESABILITAR O BOTÃO
   document.getElementById('registrar').disabled = true; //--> DESATIVA O BOTÃO
   botao.style.backgroundColor = "#CCCCCC" ; //-- MUDA A COR DO BOTÃO
							
}else{
  document.getElementById('registrar').disabled = false; //--> ATIVA O BOTÃO
  botao.style.backgroundColor = "#FFCC00" ; //--> MUDA A COR DO BOTÃO
}

Agradeço a atenção. Grande abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Realmente Lucas, peço perdão pela falta de atenção e conhecimento, o que não havia atentado era justamente na remoção das tags de formação que vinham do arquivo externo, onde contém formatações, com isso não era validado pelo if.

 

Então segue como ficou o código:

 

  function(data){ //FAZ A CONSULTA NO BANCO
  $('#resultado').html(data); //--> MOSTRA O RESULTADO QUE VEM DO verifica.php
  String.prototype.stripHTML = function() {return this.replace(/<.*?>/g, '');}
  data = data.stripHTML();
						
  if (data == "EM USO"){
    document.getElementById('registrar').disabled = true; //--> DESATIVA O BOTÃO
    botao.style.backgroundColor = "#CCCCCC" ; //-- MUDA A COR DO BOTÃO
							
  }else{
    document.getElementById('registrar').disabled = false; //--> ATIVA O BOTÃO
    botao.style.backgroundColor = "#FFCC00" ; //--> MUDA A COR DO BOTÃO
  }

Já deu pra perceber que de Java não entendo muito :upset:

Mas está tudo em ordem agora.

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.