Página 1 de 1

Bug de Espaços em branco nos formulários

Enviado: 15 Abr 2020, 06:17
por brennosacra
Olá,

Sou novo em Opencart não sei se alguém teve esse bug.

Todas as vezes que salvo algo de texto editável nos formulários administrativos da loja, quando abro o conteúdo, o sistema acrescentou um espaço antes do texto. Sempre vai acrescentando esse espaço em todos os salvar ao ponto de ficar bem espaçado o texto.

Imagem

Imagem

Não sei como resolver isso.

Re: Bug de Espaços em branco nos formulários

Enviado: 15 Abr 2020, 09:50
por reds
Ola @brennosacra

Nativamente não existe nenhum erro nesse sentido,
Se você esta copiando e colando o texto pode ser que o mesmo tenha vindo com formatação.
Nativamente os inputs recebem um padding (espaçamento interno) via css, algo em torno de 13px,
Verifique se fez qualquer alteração no seu painel e/ou se esta utilizando qualquer modificação que tenha alterado algo nesse sentido.

Verifique o seu banco de dados e veja se o titulo ai esta salvo com qualquer espaço antes.
;)

Re: Bug de Espaços em branco nos formulários

Enviado: 15 Abr 2020, 11:08
por brennosacra
Olá @reds ,

Muito obrigado pela resposta.
Não é copiar e colar, o texto já está dentro do Input e cada vez que salvo ele acrescenta sozinho um espaço em branco antes e depois do texto, se não retiro esse espaço manualmente e salvo novamente em acrescenta de novo os espaços em branco antes de depois e o mesmo vai acumulando como mostrei no exemplo das imagens. Toda vez retiro manualmente.

Também não é o padding... é um caracter espaço mesmo.

Sobre salvar em banco de dados, sim, ele está salvando os espaços no Banco de Dados, e acumulando um espaço em branco por vez. Só ocorre em Input Text.

Re: Bug de Espaços em branco nos formulários

Enviado: 06 Mai 2020, 08:11
por brennosacra
Resolvi. Vou publicar pois se alguém passar pelo mesmo problema terá aqui uma possível solução.

Acrescentei um hack no JS

em: admin/views/javascript/commons.js
Código: Selecionar todos
$('form').on('blur', 'input[type="text"], textarea', function() {
    	$(this).val((i, value) => value.trim());
	});
	$('form').on('focus', 'input[type="text"], textarea', function() {
    	$(this).val((i, value) => value.trim());
	});
	$('input[type="text"], textarea').each(function() {
    	$(this).val((i, value) => value.trim());
	});
Resolveu o meu problema.