Ir para conteúdo

Arquivado

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

Fábio BN

Enter em type="button" não funcional direito, como proceder?

Recommended Posts

Oi pessoal.

 

Tenho um campo de recuperar senha através do e-mail digitado, funciona perfeitamente quando se clica no ( type="button" ) porém se der o enter, funciona mas abre o arquivo de post sem o retorno do Ajax, ou seja, abre a tela seguinte, e não executa o Jquery.

Eu tentei alguns comandos como ( onkeydown="if (event.keyCode == 13) document.getElementById('btn_login').click()" ) e ( onclick="doSomething(); ) mas desisti pois não funcionou.

HTML:

<form method="POST" action="esqueci_senhax_new.asp">

<input class="form-control largura_300" id="email"  name="email" type="text" placeholder="Informe seu @e-mail de cadastro" maxlength="50"  onkeyup="libera_botao()" required autofocus>

<button type="button" disabled="" name="btn_email" id="btn_email" class="btn btn-primary" ><span class="glyphicon glyphicon-lock" ></span> 
            Receber Senha por E-mail</button>

<div align="center" id="resultados">
</form>

JS

<script>
    function libera_botao() {
        var email_sim = $("#email").val();

  
        if (email_sim == '' ) {
  
					
            document.getElementById("btn_email").disabled = true;
			
        } else {
    
           
		   document.getElementById("btn_email").disabled = false;
        }
    }
</script>      





<script type="text/javascript" >

$(document).ready(function(){
 

  $("#btn_email").click(function(){
 

    validaemail($("#email"));
 
  });
 
});
 
function validaemail(email){
 
  if(email.val() == ""){
    alert("Informe o E-mail!"); //Exibe um alerta 
    email.focus(); //Adiciona foco ao campo 
    return; //retorna nulo
  }
 
  else{
 
 
	 $("#resultados").html("<img src='loading_reduzido.gif' width='40' height='38'>"); 
 
    $.post("esqueci_senhax_new.asp", {palavra: email.val()}, 
      function(retorno){
 
    
        $("#resultados").html(retorno);
 
      } //function(retorno)
    ); //$.post()
 
  }
 
} //validaemail()

</script>

email.jpg

Eu gostaria de quando teclasse Enter, executasse o JS e não o formulário padrão.
Lembrando que se clica no botão funciona é perfeitamente!

Se alguém puder ajudar agradeço.

Obrigado!
Fábio!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui resolver com os comandos:

</script>

<script type="text/javascript" >
$(document).keypress(function(e) {
    if(e.which == 13) $('#btn_email').click();
});

$('button').click(function(e) {
    alert(this.innerHTML);
});
    
</script>

E removi o form do sctip.

Abraços!

Fábio!

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.