FS
Limpar formulário ao clicar em Salvar
Fechado
Boa tarde,
Gostaria de saber se alguém consegue me ajudar, como faço para limpar o formulário ao terminar de preencher ou editá-lo. Se eu clico em salvar, ele executa a ação mas os dados continuam no formulário. Eu quero limpar ele a cada ação de salvar.
Obrigado.
Gostaria de saber se alguém consegue me ajudar, como faço para limpar o formulário ao terminar de preencher ou editá-lo. Se eu clico em salvar, ele executa a ação mas os dados continuam no formulário. Eu quero limpar ele a cada ação de salvar.
Obrigado.
Amigo é simples, na function onSave é só remover ou comentar esta linha.
$this->form->setData($object); // keep form data
responda se resolver...ok?
ou esta;
catch (Exception $e) // in case of exception
{
// shows the exception error message
new TMessage('error', 'Error ' . $e->getMessage());
$this->form->setData( $this->form->getData() ); // keep form data { ESTA LINHA AQUI, comenta e testa }
// undo all pending operations
TTransaction::rollback();
}
Bom dia Jurandir,
Eu testei com a primeira opção, comentando a linha, mas os dados continuam no formulário ao salvar, não deu certo. A segunda alternativa que você me passou, no meu método onSave não tem esta linha que você sugeriu.
Segue abaixo o meu método onSave:
/**
* method onSave()
* Executed whenever the user clicks at the save button
*/
function onSave()
{
try
{
// open a transaction with database 'hotel'
TTransaction::open('hotel');
// get the form data into an active record Cliente
$object = $this->form->getData('Cliente');
// form validation
$this->form->validate();
// stores the object
$object->data_nascimento = TDate::date2us($object->data_nascimento);
$object->store();
// set the data back to the form
$this->form->setData($object);
// close the transaction
TTransaction::close();
// shows the success message
new TMessage('info', TAdiantiCoreTranslator::translate('Record saved'));
// reload the listing
}
catch (Exception $e) // in case of exception
{
// shows the exception error message
new TMessage('error', 'Error ' . $e->getMessage());
// undo all pending operations
TTransaction::rollback();
}
}
Obrigado.
Oi amigo, tudo bem...
// set the data back to the form
$this->form->setData($object);
comenta esta linha aí.. e diga se deu certo.
Pior que não deu certo meu amigo. Fiz exatamente como você me orientou, não sei o que posso estar fazendo de errado.
Comentei a linha..
// set the data back to the form
// $this->form->setData($object);
OBS: Para ter certeza que o problema não é no meu código, eu criei um form padrão do Studio Pró, e percebi que tb não estava limpando o formulário ao salvar, tentei comentar a linha lá e também não deu certo.
Amigo, deixa eu chegar em casa de 13:30 que verifico e te passo o que eu conseguir, ok?
Com certeza, eu aguardo.
Muito obrigado Jurandir por disponibilizar seu tempo pra me ajudar. Em breve vou estar apto para ajudar também.
Abraço.
Amigo faz assim,
// shows the success message
new TMessage('info', TAdiantiCoreTranslator::translate('Record saved'));
$this->form->clear(); // coloca esta linha aki
// reload the listing
}
Sem problema amigo, estamos aki para ajudar uns aos outros, se depender de mim, o que precisar e eu souber pode contar.
Opa, agora funcionou.
Muito obrigado Jurandir.
Não tem de que amigo, se precisar estaremos aki.
pra mim funcionou a primeira solução:
Jurandir GM Plus (Vivendo e Evoluindo): ( 2015-03-08)
Amigo é simples, na function onSave é só remover ou comentar esta linha.
$this->form->setData($object); // keep form data
responda se resolver...ok?