Tenho um div responsavel por mostrar as etapas preenchidas do formulario, mas preciso esconde-lo no exato momento que o usuario envia o formulario, qual evento devo usar? Como ficaria a função para aparecer somente na atividade 0?
<div class="element">
<label id="progresslabel">Progresso de Conclusão</label>
<div id="myProgress">
<div role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" id="myBar">
5%
</div>
</div>
</div>
Certo, se for direto no formulário você pode pegar a atividade com var activity = getValue('WKNumState'); e colocar um id na div e pelo id você esconde a div quando ela for diferente de 0. Se for pelo displayFields é muito diferente, pode usar customHTML.append();
O displayfields é executado na abertura do formulario… preciso que assim que clicado no botão de enviar( final da atividade), o div suma… Este processo ja faço assim que a atividade muda porém preciso que o div suma antes de começar a proxima atividade entende?
Não sei se existe alguma solução para isso. Também não sei se este procedimento faz sentido. Qualquer coisa que vc fizer em javascript nesta atividade, ficará apenas nesta atividade. Ou seja, não importa se vc esconder a div na atividade A, pois na atividade B a div voltará a aparecer.
Caso queira esconder antes do formulario carregar para usuario, bastar usar o evento enableFields. No enable fields é só usar o comando : form.setVisibleById("idDaDiv",false)
Você fez duas perguntas:
Como ficaria a função para aparecer somente na atividade 0?
Para esta questão, você deveria no evento de formulário displayFields escrever com customHTML.append uma variável que contenha o valor da atividade atual (recomendado) ou então verificar se algum dos campos do próprio formulário que você sabe que só estaria preenchido depois dessa atividade está vazio.
Exemplo do recomendado:
function displayFields(form, customHTML) {
var activity = getValue('WKNumState');
var formMode = form.getFormMode();
customHTML.append('<script>');
customHTML.append(' var CURRENT_STATE = ' + activity + ';');
customHTML.append(' var FORM_MODE = "' + formMode + '";');
customHTML.append('</script>');
}
Segunda pergunta:
mas preciso esconde-lo no exato momento que o usuario envia o formulario, qual evento devo usar?
No geral não recomendado efetuar captura do submit no fluig. O que exatamente você quer seria capturar o evento de submit do form, porém lembro que uma vez tentei e não deu certo.
O que seria próximo a isso seria usar o beforeSendValidate:
Documentação eventos Formulário