Boas
No formulário, Por vezes tenho a necessidade de aplicar uma instrução / macro onde após a atualização de 1 ou mais campos de 1 registo, o mesmo seja atualizado automaticamente sem necessidade de clicar no botão “ATUALIZAR”
A razão é simples alguns utilizadores efetuam a alteração no(s) campos(s) e esquecem-se de clicar em ATUALIZAR, assim seria uma segurança na atualização de dados.
Criando eventos Ajax onchange nos campos e executando a instrução já de salvamento.
Algum exemplo disponível?
Evento Ajax Onchange do campo que deseja o salvamento automático.
[var_prox_campo]='Nome';
if ({id}): // campo pk da tabela do formulário
$arr=['incluir'];
//echo "estou incluindo";
else:
$arr=['alterar'];
//echo "estou alterando";
endif;
sc_ajax_javascript('nm_atualiza',$arr);
evento onscriptinit:
sc_set_focus([var_prox_campo]);
Configurar para Retornar após inclusão em Aplicações/Navegação.
Em variareis globais configure var_prox_campo como não sessão, não get, não post, opcional de saída.
Se não desejar aparecer o Processando do evento ajax pode usar em javascript e exibir uma msg temporária de dados salvos.
^^^
*** Testado ***
Da para fazer mais automático para todos os campos mas acho mais arriscado, ideal mesmo é escolher os campos principais do formulário e criando os eventos onchange de cada um e colando o código acima.
Segue um teste de captura de qualquer campo alterado (evento onload):
?><script>
$(document).ready(function() {
$('form').change(function() {
alert('alterou');
});
});
</script><?php
No logar do alert nm_atualiza(‘alterar’) ou nm_atualiza(‘incluir’) conforma a situação.
TAGS: Haroldo, Salvamento, Automático, Campos, Onchange, Incluir, Alterar
Usando automático para todos os campos.
evento onscriptinit:
if ({id}): //campo pk autoincrement da tabela do formulário
$js='0';
else:
$js='1';
endif;
echo "<script> var jsFlag = $js; </script>";
Evento onload:
?><script>
$(document).ready(function() {
$('form[name=F1]').change(function() {
if (jsFlag==0) {
nm_atualiza('incluir');
return false;
}else{
nm_atualiza('alterar');
return false;
}
});
});
</script><?php
*** Fica por conta e risco de quem for usar.
*** Esse exemplo não muda o foco para o próximo campo.
TAGS: Haroldo, Salvamento, Automático, Campos, Onchange, Incluir, Alterar
Obrigado pelos Exemplos…
Opa, Haroldo to com uma duvida aqui, não to conseguindo atualizar …
o codigo que efetue é o seguinte:
nao estou conseguindo identificar o problema.