Inscrições abertas para nosso Webinar anual Adianti Framework 2024!
Clique aqui para saber mais
Confirmação antes do envio de formulários Neste exemplo, vamos demonstrar como perguntar ao usuário uma confirmação antes da postagem definitiva dos dados do formulário. Neste caso, estamos criando um quick form com dois campos e um botão "Salvar" conectado com o método onSave(). Quando o método onSave() é executado, o usuário é questionado se deseja confirmar. Se sim, então o método confirm() é executado, exibindo os dados d...
PD
Confirmação antes do envio de formulários  
Fechado
Neste exemplo, vamos demonstrar como perguntar ao usuário uma confirmação antes da postagem definitiva dos dados do formulário. Neste caso, estamos criando um quick form com dois campos e um botão "Salvar" conectado com o método onSave(). Quando o método onSave() é executado, o usuário é questionado se deseja confirmar. Se sim, então o método confirm() é executado, exibindo os dados do formulário em uma mensagem de diálogo.

  1. <?php
  2. /**
  3.  * ConfirmationForm report
  4.  *
  5.  * @version    1.0
  6.  * @package    samples
  7.  * @subpackage tutor
  8.  * @author     Pablo Dall'Oglio
  9.  * @copyright  Copyright (c) 2006-2011 Adianti Solutions Ltd. (http://www.adianti.com.br)
  10.  * @license    http://www.adianti.com.br/framework-license
  11.  */
  12. class ConfirmationFormView extends TPage
  13. {
  14.     private $form;
  15.     
  16.     /**
  17.      * Class constructor
  18.      * Creates the page and the registration form
  19.      */
  20.     function __construct()
  21.     {
  22.         parent::__construct();
  23.         
  24.         // create the form using TQuickForm class
  25.         $this->form = new TQuickForm;
  26.         
  27.         405          = new TEntry('id');
  28.         $description = new TEntry('description');
  29.         
  30.         $this->form->addQuickField('Id',    405,    40);
  31.         $this->form->addQuickField('Description'$description200);
  32.         $this->form->addQuickAction('Save', new TAction(array($this'onSave')), 'ico_save.png');
  33.         
  34.         // add the form to the page
  35.         parent::add($this->form);
  36.     }
  37.     /**
  38.      * method onSave()
  39.      * Executed whenever the user clicks at the Save button
  40.      */
  41.     function onSave()
  42.     {
  43.         try
  44.         {
  45.             $data $this->form->getData();
  46.             
  47.             $action1  = new TAction(array($this'confirm'));
  48.             $action1->setParameter('data'json_encode($data));
  49.             
  50.             $question = new TQuestion('Confirm ?'$action1);
  51.             $this->form->setData($data);
  52.         }
  53.         catch (Exception $e// in case of exception
  54.         {
  55.             // shows the exception error message
  56.             new TMessage('error''<b>Error</b> ' $e->getMessage());
  57.         }
  58.     }
  59.     
  60.     /**
  61.      * Confirm
  62.      */
  63.     function confirm($param)
  64.     {
  65.         $object  json_decode($param['data']);
  66.         $message $object->id.'<br>'.
  67.                    $object->description;
  68.                    
  69.         new TMessage('info'$message);
  70.     }
  71. }
  72. ?>

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 (2)


EG

No caso de ter dois campos: senha e confirmasenha, como faço para validar (comparar as senhas)?
MA

Pablo, tem uma maneira de chamar um TQuestion de dentro de um metodo para validar a execução de um determinado bloco.
Por exemplo, no meu caso eu tenho um botão no formulário para enviar o mesmo por e-mail, dentro do método que envia o e-mail gostaria de perguntar ao usuário se ele deseja enviar uma cópia para um outro grupo de e-mails.