Edgard Leal

My personal blog hosted on Github using Jekyll

Home View on GitHub
28 January 2013

{:br}

Desabilitar componentes

Sempre tive problemas em aplicações desktop com operações demoradas quando o usuário clicava no botão e como o processamento demorava ele continuava a clicar ate obter a resposta esperada. Este procedimento vai no mínimo sobrecarregar o seu banco de dados com muitas requisições de um mesmo usuário para o mesmo serviço.

Resolvendo o problema

Uma possível solução para este problema é desabilitar o componente/botão assim que ele for clicado e quando a rotina terminar, habilita-se novamente este botão.

Exemplos com jQuery:

//para desabilitar por nome (name)
$('[name="teste"]').attr('disabled', true);
//para habilitar por ID
$('#someElement').removeAttr('disabled');

Documentação do jQuery sobre a opção attr: https://api.jquery.com/attr/{:}{:en}

Disabling components

I always had problems in desktop applications with lengthy operations when the user clicked the button and as he continued to click processing took up to get the expected response. This procedure will at least clutter up your database with many requests from the same user for the same service.

Solving the problem

A possible solution to this problem is to disable the component / button as soon as it is clicked and when the routine is finished, it enables again this button.

Examples with jQuery:

// For disable by name
$('[name="test"]').attr('disabled', true);
// For disable by ID
$('#someElement').removeAttr('disabled');

Official jQuery documentation about  attr: https://api.jquery.com/attr/{:}



blog comments powered by Disqus