Iframe para imagem não aparece no form Boa noite, pessoal. Alguém pode me ajudar porque não aparece o iframe foto_frame no meu formulário? Segue código: ...
CS
Iframe para imagem não aparece no form  
Boa noite, pessoal. Alguém pode me ajudar porque não aparece o iframe foto_frame no meu formulário?
Segue código:
 
  1. <?php
  2. class EstProdutoForm extends TPage
  3. {
  4. protected $form; // form
  5. private $frame;
  6. /**
  7. * Form constructor
  8. * @param $param Request
  9. */
  10. public function __construct( $param )
  11. {
  12. parent::__construct();
  13. // creates the form
  14. $this->form = new TQuickForm('form_EstProduto');
  15. $this->form->class = 'tform'; // change CSS class
  16. $this->form = new BootstrapFormWrapper($this->form);
  17. $this->form->style = 'display: table;width:90%'; // change style
  18. // define the form title
  19. $this->form->setFormTitle('EstProduto');
  20. // create the form fields
  21. $id = new TEntry('id');
  22. $descricao = new TEntry('descricao');
  23. $unidade = new TCombo('unidade');
  24. $grupo_id = new ">TDBSeekButton('grupo_id', 'sigaw', 'form_EstProduto', 'EstGrupoProduto', 'descricao', 'grupo_id', 'grupo_descricao');
  25. $grupo_descricao = new TEntry('grupo_descricao');
  26. $cod_barras = new TEntry('cod_barras');
  27. $situacao = new TRadioGroup('situacao');
  28. $custo = new TEntry('custo');
  29. $venda = new TEntry('venda');
  30. $tipo = new TCombo('tipo');
  31. $ncm = new TEntry('ncm');
  32. $origem = new TCombo('origem');
  33. $cest = new TEntry('cest');
  34. $foto = new TFile('foto');
  35. // complete upload action
  36. $foto->setCompleteAction(new TAction(array($this, 'onComplete')));
  37. // Formatação dos campos
  38. $itens_unidade = array();
  39. $itens_unidade['PÇ'] = 'PEÇA';
  40. $itens_unidade['UN'] = 'UNIDADE';
  41. $itens_unidade['KG'] = 'KILOGRAMA';
  42. $itens_unidade['GR'] = 'GRAMA';
  43. $itens_unidade['MT'] = 'METRO';
  44. $itens_unidade['CM'] = 'CENTÍMETRO';
  45. $itens_unidade['CT'] = 'CARTELA';
  46. $itens_unidade['CX'] = 'CAIXA';
  47. $itens_unidade['DZ'] = 'DUZIA';
  48. $itens_unidade['PA'] = 'PAR';
  49. $itens_unidade['PT'] = 'PACOTE';
  50. $itens_unidade['RL'] = 'ROLO';
  51. $itens_unidade['LT'] = 'LITRO';
  52. $itens_unidade['M3'] = 'METRO CÚBICO';
  53. $itens_unidade['ML'] = 'MILILITRO';
  54. $unidade->addItems($itens_unidade);
  55. $itens_tipo = array();
  56. $itens_tipo['Ativo Imobilizado'] = 'Ativo Imobilizado';
  57. $itens_tipo['Embalagem'] = 'Embalagem';
  58. $itens_tipo['Garrafa'] = 'Garrafa';
  59. $itens_tipo['Material de uso e consumo'] = 'Material de uso e consumo';
  60. $itens_tipo['Matéria-prima'] = 'Matéria-prima';
  61. $itens_tipo['Mercadoria para revenda'] = 'Mercadoria para revenda';
  62. $itens_tipo['Outras'] = 'Outras';
  63. $itens_tipo['Outros insumos'] = 'Outros insumos';
  64. $itens_tipo['Produto acabado'] = 'Produto acabado';
  65. $itens_tipo['Produto em processo'] = 'Produto em processo';
  66. $itens_tipo['Produto intermediário'] = 'Produto intermediário';
  67. $itens_tipo['Serviços'] = 'Serviços';
  68. $itens_tipo['Subproduto'] = 'Subproduto';
  69. $tipo->addItems($itens_tipo);
  70. $itens_origem = array();
  71. $itens_origem['Nacional'] = 'Nacional';
  72. $itens_origem['Estrangeira - Importação Direta'] = 'Estrangeira - Importação Direta';
  73. $itens_origem['Estrangeira - Adquirida no mercado interno'] = 'Estrangeira - Adquirida no mercado interno';
  74. $origem->addItems($itens_origem);
  75. $grupo_id->setSize(40);
  76. $grupo_descricao->setSize(190);
  77. $grupo_descricao->setEditable(FALSE);
  78. $situacao->addItems(array('A'=>'Ativo', 'I'=>'Inativo'));
  79. $situacao->setValue('A');
  80. $situacao->setLayout('horizontal');
  81. $descricao->forceUpperCase();
  82. $custo->setNumericMask(2, ',', '.', true);
  83. $venda->setNumericMask(2, ',', '.', true);
  84. // add the fields
  85. $this->form->addQuickField('Código:', $id, 250 );
  86. $this->form->addQuickField('Descrição:', $descricao, 250, new TRequiredValidator);
  87. $this->form->addQuickField('Unidade:', $unidade, 250, new TRequiredValidator);
  88. $this->form->addQuickFields('Grupo:', array($grupo_id, $grupo_descricao), new TRequiredValidator);
  89. $this->form->addQuickField('Cód. Barras:', $cod_barras, 250 );
  90. $this->form->addQuickField('Situação:', $situacao, 250 );
  91. $this->form->addQuickField('Custo:', $custo, 250 );
  92. $this->form->addQuickField('Venda:', $venda, 250 );
  93. $this->form->addQuickField('Tipo:', $tipo, 250 );
  94. $this->form->addQuickField('Ncm:', $ncm, 250 );
  95. $this->form->addQuickField('Origem:', $origem, 250 );
  96. $this->form->addQuickField('Cest:', $cest, 250 );
  97. $this->form->addQuickField('Foto:', $foto, 250);
  98. $this->frame = new TElement('div');
  99. $this->frame->id = 'foto_frame';
  100. $this->frame->style = 'width:400px;height:auto;min-height:200px;border:1px solid gray;padding:4px;';
  101. $row = $this->form->addRow();
  102. $row->addCell('');
  103. $row->addCell($this->frame);
  104. if (!empty($id))
  105. {
  106. $id->setEditable(FALSE);
  107. }
  108. $foto->setSize(200, 40);
  109. /** samples
  110. $this->form->addQuickFields('Date', array($date1, new TLabel('to'), $date2)); // side by side fields
  111. $fieldX->addValidation( 'Field X', new TRequiredValidator ); // add validation
  112. $fieldX->setSize( 100, 40 ); // set size
  113. **/
  114. // create the form actions
  115. $this->form->addQuickAction(_t('Save'), new TAction(array($this, 'onSave')), 'fa:floppy-o');
  116. $this->form->addQuickAction(_t('New'), new TAction(array($this, 'onClear')), 'bs:plus-sign green');
  117. $this->form->addQuickAction('Lista', new TAction(array('EstProdutoList','onReload')), 'fa:table blue');
  118. // vertical box container
  119. $container = new TVBox;
  120. $container->style = 'width: 90%';
  121. $container->add(new TXMLBreadCrumb('menu.xml', 'EstProdutoList'));
  122. $container->add(TPanelGroup::pack('Produtos', $this->form));
  123. parent::add($container);
  124. }
  125. /**
  126. * On complete upload
  127. */
  128. public static function onComplete($param)
  129. {
  130. new TMessage('info', 'Upload completed: '.$param['foto']);
  131. // refresh photo_frame
  132. TScript::create("$('#foto_frame').html('')");
  133. TScript::create("$('#foto_frame').append(\"<img style='width:100%' src='app/tmp/mbuntu-11.jpg'>\");");
  134. }
  135. ?>


[]'s

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (2)


CS

Opa, descobri que é porque estou usando isto no inicio:
$this->form = new BootstrapFormWrapper($this->form);
Mas como colocar um TElement junto com o BootstrapFormWrapper?
NR

Pelo que verifiquei o BootstrapFormWrapper só exibe os campos do formulário, desconsiderando demais elementos. Uma possível solução seria criar o frame via javascript.