Ola, quero saber o que estou fazendo errado. Fiz o codigo java script abaixo. E quando dou o enter no input fora do form, funciona 100%. Porem quando esta no form, por mais que eu coloque a opcao preventDefault(); ele continua a submeter o form. Onde estou errando?
$(function() {
var campoEan = $('#ean');
campoEan.on('keyup', function(e) {
e.preventDefault();
if (e.keyCode === 13) {
campoEan.trigger('enter', campoEan.val());
}
});
campoEan.on('enter', function(evento, codigoEan) {
evento.preventDefault();
$.ajax({
url : '/produto',
method : 'GET',
contentType : 'application/json',
data : {
ean : campoEan.val()
},
success : onPesquisaConcluida,
error : onErroPesquisa
});
});
function onPesquisaConcluida(resultado) {
$('.js-mensagem-cadastro').addClass('hidden');
$('#codigo').val(resultado.id);
$('#idProduto').val(resultado.id);
$('#descricao').val(resultado.descricao);
$('#precoCompra').val(resultado.precoCompra);
$('#precoCusto').val(resultado.precoCusto);
$('#margemLucro').val(resultado.margemLucro);
$('#precoVenda').val(resultado.precoVenda);
$('#precoPromocao').val(resultado.precoPromocao);
$('#precoVenda').focus();
}
function onErroPesquisa(obj) {
var mensagemErro = obj.responseText;
$('.js-mensagem-cadastro').removeClass('hidden');
$('.js-mensagem-cadastro').html('<span>' + mensagemErro + '</span>');
campoEan.val('');
}
});