Boa tarde,
Alguém sabe me informar como eu faço para utilizar um checkbox em formulários fluig?
Verifiquei que ele não está gravando se está marcado ou não o checkbox e também não sei como verificar se está marcado ou não no evento validateForm.
Obrigado!
@Kanaãm, no formulário você pode construí-lo normalmente:
<input type="checkbox" name="nomecheckbox" value="x" />
Importante dizer que cada checkbox vai criar uma coluna no dataset.
Para você fazer a verificação nos eventos do formulário (validateFields/displayFields/etc), utilize o padrão comum de verificação. Um exemplo que fazemos aqui no validateFields:
if(form.getValue('nomecheckbox') == null || form.getValue('nomecheckbox') == '')
throw "Selecione o checkbox";
Se quiser verificar o uso em eventos de processo, este link lhe dará uma boa base:
http://tdn.totvs.com/display/public/fluig/hAPI
Boa tarde Gabriel, cheguei a testar dessa forma, porém não deu certo.
Ele não está trazendo se o checkbox está marcado ou desmarcado.
Acabei partindo para outra solução.
No caso não estou utilizando eventos de processo, é um form de conteúdo de widgets.
De qualquer forma obrigado pelo retorno!
Complementando a resposta do Gabriel: se você possível vários inputs do tipo checkbox no seu formulário eles precisam ter o mesmo “name”. Se você precisar manipular algo quando eles são selecionados, pode trabalhar com o ID deles.
Boa tarde Kanaãn
Já passei por um problema desses, e no caso a solução que encontrei foi criar um campo hide e adicionar uma função click no checkbox, quando o usuário clicar no checkbox eu passaria o valor 1 para o campo hide, se desmarcasse inseria 0
espero ter ajudado,
Abraço
Obrigado pelo retorno William!
Pensei em fazer algo nesse sentido, mas acabei fazendo um zoom com um dataset “chumbado”.
Valeu!!
É só usar o mesmo name para todos os checkbox. Se precisar manipular algo ou recuperar valor é só usar o ID deles. Sempre uso assim e não tenho problemas. Abs!
Bom dia.
Estou com situação envolvendo checkbox tambem.
To colocando anexo uma imagem do formulario.
Ele carrega a ultima data gravada no dataset, ok ? ta vindo certo ja essa parte.
Se eu clicar no checkbox correspondente, ele precisa pegar a data atual como nova
data de verificação e calcula com base no campo cDiasVenc do item o novo vencimento.
Só que o fonte da função nao esta fazendo isso. O clicar no checkbox nao esta
executando a função. Eu tenho duvidas se ta pegando o id e se o evento change é o melhor para a
ocasiao.
Consegue me dar um help ?
A parte do fonte (html) do componente:
<input type="checkbox" class="form-control checks" style="min-width: 30px; width:2em; height:2em; !important" onchange="checa2()" name="cCheck3" id="cCheck3">
<input id="cVerificado3" name="cVerificado3" type="date" class="form-control" style="min-width: 130px !important" readonly/>
<input id="cVenc3" name="cVenc3" type="date" class="form-control" style="min-width: 130px !important" readonly/>
<div hidden>
<input type="text" class="form-control" name="cDiasVenc3" id="cDiasVenc3" >
</div>
E o fonte da função:
$(function checa2(){
$(".checks").change(function(){
var id = $(this).attr('id');
if($(this).is(':checked')){
var dtAtual = new Date();
var ProxData = new Date();
for (var varre = 1;varre <= 20;varre++){
if (id == ("cCheck"+varre)){ // Na imagem anexada o teste com o id cCheck3
ProxData.setDate(dtAtual.getDate() + Number($("#cDiasVenc"+varre).value));
$("#cVerificado"+varre).attr("value", dtAtual);
$("#cVenc"+varre).attr("value", ProxData);
$("#cVerificado"+varre).value = dtAtual.toISOString().slice(0,10);
$("#cVenc"+varre).value = ProxData.toISOString().slice(0,10);
};
};
};
});
});
Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.