Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Limpar formulário ao clicar em Salvar 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....
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.

Curso completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto Quero me inscrever agora!

Comentários (12)


JE

Amigo é simples, na function onSave é só remover ou comentar esta linha.

$this->form->setData($object); // keep form data

responda se resolver...ok?
JE

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();
}
FS

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.
JE

Oi amigo, tudo bem...

// set the data back to the form
$this->form->setData($object);


comenta esta linha aí.. e diga se deu certo.
FS

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.

JE

Amigo, deixa eu chegar em casa de 13:30 que verifico e te passo o que eu conseguir, ok?
FS

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.
JE

Amigo faz assim,

// shows the success message
new TMessage('info', TAdiantiCoreTranslator::translate('Record saved'));
$this->form->clear(); // coloca esta linha aki
// reload the listing
}
JE

Sem problema amigo, estamos aki para ajudar uns aos outros, se depender de mim, o que precisar e eu souber pode contar.
FS

Opa, agora funcionou.

Muito obrigado Jurandir.
JE

Não tem de que amigo, se precisar estaremos aki.
RS

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?