MM
Executar JavaScript em TStandardForm
Caros, estou utilizando o código a seguir para alterar um campo, ao selecionar um TCheckBox:
Infelizmente o código do JavaScript não atua.
Alguém pode dar uma dica de como executar códigos JavaScript nesse tipo de página?
- <?php
- $data_ini = new TDate('data_ini');
- $tempo_indeterminado = new TCheckButton('tempo_indeterminado');
- $script = new TElement('script');
- $script->type = 'text/javascript';
-
- $script->add("function setTempoIndeterminado(){
- if(document.getElementById('tempo_indeterminado').value == '1') {
- document.getElementById('data_ini').readonly = false;
- } else {
- document.getElementById('data_ini').readonly = true;
- }
- }");
-
- parent::add($script);
-
- $tempo_indeterminado->{'onclick'} = "setTempoIndeterminado()";
- ?>
Infelizmente o código do JavaScript não atua.
Alguém pode dar uma dica de como executar códigos JavaScript nesse tipo de página?
Magnaldo, acho que faltou vc definir um id pro seus campos:
Obrigado pela dica Ivan.
Inseri o Id, mesmo assim eu clicko no checkbox mas não atua no campo de data.
Sugiro que vc faça conforme o tutor, eu uso dessa forma.
www.adianti.com.br/framework_files/tutor/index.php?class=FormEnableD
Muito bom!
Mas realmente para TCheckBox não funciona mesmo. Ele não tem o evento onChange...teria que implementar. Não foi feito pra isso.
Valeu!
Magnaldo, não utilize o TCheckButton diretamente. Use o TCheckGroup que, Inclusive, possui a função setChangeAction
Ok, Nataniel.
Mas como eu relaciono o ítem do checkgroup com o campo do banco de dados?
Tipo, tenho um campo com o nome ativo no banco de dados, então, ao marcá-lo, deve ir para o db, e alterar o formulário, habilitando ou não os demais campos.
Você vai ter que fazer um tratamento na função onSave, pois será retornado um array para esse campo.