AR
Bug ao desabilitar um TDate
Pablo,
Na necessidade de desabilitar um campo de tipo TDate percebi que ao instanciar um objeto neste Form e salvar possíveis edições, o valor contido no campo TDate desabilitado simplesmente não é persistido. Depois de algumas horas descobri o arquivo tdate.js e encontrei os seguintes problemas:
- Atribuição do "disabled" deve ser substituído por "readonly".
- Deve-se inverter as casses removidas e adicionadas, um pela outra.
Na necessidade de desabilitar um campo de tipo TDate percebi que ao instanciar um objeto neste Form e salvar possíveis edições, o valor contido no campo TDate desabilitado simplesmente não é persistido. Depois de algumas horas descobri o arquivo tdate.js e encontrei os seguintes problemas:
function tdate_enable_field(form_name, field) {
try{ $('form[name='+form_name+'] [name='+field+']').attr('disabled', false); } catch (e) { }
try{ $('form[name='+form_name+'] [name='+field+']').removeClass('tfield_disabled').addClass('tfield'); } catch (e) { }
try{ $('form[name='+form_name+'] [name='+field+']').css('border-right', '0'); } catch (e) { }
setTimeout(function(){ $('form[name='+form_name+'] [name='+field+']').next().show() },1);
}
function tdate_disable_field(form_name, field) {
try{ $('form[name='+form_name+'] [name='+field+']').attr('disabled', true); } catch (e) { }
try{ $('form[name='+form_name+'] [name='+field+']').removeClass('tfield_disabled').addClass('tfield'); } catch (e) { }
try{ $('form[name='+form_name+'] [name='+field+']').css('border-right', '1px solid gray'); } catch (e) { }
setTimeout(function(){ $('form[name='+form_name+'] [name='+field+']').next().hide() },1);
}
- Atribuição do "disabled" deve ser substituído por "readonly".
- Deve-se inverter as casses removidas e adicionadas, um pela outra.
Mesmo problema.
Tentei a dica do Alisson mas não consegui, fiz assim, me ajudem se eu estiver errado.
valeu!
Agora consegui. Eu estava editando o arquivo tdate.js, mas o certo é editar o ../lib/adianti/include/components.min.js para funcionar.
Valeu pela dica Alisson! Abraço.
Eu achei que estava funcionando, mas não. Se utilizarmos o readonly ao invés de disabled, o campo vai continuar permitindo editar, pois ao clicar ele abrirá o calendário e este continuará conseguindo alterar os dados. Somente com disabled que o calendário fica totalmente inibido, porém sem persistência. Alguém aí para ajudar???