UpDate imediato do registo num Formulário

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.