Fórum OpenCart Brasil

Por um e-commerce livre, confiável e profissional

Suporte geral sobre problemas técnicos para OpenCart v1.x.
Por jpaulo242
#53578
Galera estou com um erro no modulo de newsletter, na minha pagina quando tento cadastrar um email nesse campo, qualquer email, ele sempre da erro de "email invalido", no modulo em si nao tem muito o que configura, apenas abas para ver os emails cadastrados e enviar informativos, a unica configuração feita ali seria a configurações do server smtp para o envio dos emails, eu achei essa linha do modulo mas nao sei dizer se o erro pode ser aqui, ele informa uma função pra validar o email "/catalog/view/theme/pav_sportshop/template/module/pavnewsletter.tpl"
$('#formNewLestter').on('submit', function() {
var sbt = '<img src=\"catalog/view/theme/default/image/close.png\" alt=\"\" class=\"close\">';
var email = $('.inputNew').val();
$(".warning, .success").remove();
if(!isValidEmailAddress(email)) {
$('.valid').html("<div class=\"warning\"><?php echo $this->language->get('valid_email'); ?>"+sbt+"</div>");
$('.inputNew').focus();
return false;
}
var url = "<?php echo $action; ?>";
$.ajax({
type: "post",
url: url,
data: $("#formNewLestter").serialize(),
dataType: 'json',
success: function(json)
{
$(".warning, .success").remove();

if (json['error']) {
$('.valid').html("<div class=\"warning\">"+json['error']+sbt+"</div>");
}

if (json['success']) {
$('.valid').html("<div class=\"success\">"+json['success']+sbt+"</div>");
}
}
});
return false;
});


function isValidEmailAddress(emailAddress) {
var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
return pattern.test(emailAddress);
O "email invalido" esta sendo chamado no /catalog/language/english/module/pavnewsletter.php pelo valid_email do arquivo acima
$_['entry_sign_up_for_newsletter'] = "Sign Up For Newsletter";

$_['entry_newsletter'] = "Newsletter";

$_['button_ok'] = "Ok";

$_['button_subscribe'] = "Inscreva-se";

$_['default_input_text'] = "Seu Email";

$_['valid_email'] = "Email inválido!";

$_['success_post'] = "Você se inscreveu com sucesso em nosso newsletter.";

$_['error_post'] = "Email já registrado.";


se alguem tiver alguma dica agradeço, opencart 1.5.6.4
att
#53727
boa tarde manoel, pedi ajuda para meu cunhado que é programador, aparentemente funcionou depois de uma alteração que ele fez:

<!--var email = $('.inputNew').val();-->
var email =$('input[name=email]').val();
$(".warning, .success").remove();

nao entendi muito bem mas ao que parece a linha comentada que tem o "inputnew" nao era encontrada, ai ele colocou a linha abaixo com esse "name=email", de programação nao entendo e acho tambem que sem testar vcs acabam nao tendo como ajudar tbm, vamos ver se era apenas isso mesmo, de qualquer forma agradeço, caso tenha algum outro erro vou tentar passar mais informações a respeito do erro que possam ajudar, obrigado


ps:parou de funcionar de novo, vou desabilitar esse modulo depois me preocupo com isso então, é p jeito valeu
#53731
Que bom que resolveu, pelo jeito o problema era que o comando jquery para capturar o valor do input não estava encontrando o input, obrigado por compartilhar a solução, assim você poderá ajudar a outros colegas que tiverem o mesmo problema. :)