Ir para conteúdo
BrendonPawn

[Resolvido] Executando função de uma Form através de outra Form

Recommended Posts

Olá amigos!

 

Eu gostaria de tirar uma dúvida que sempre tive e estou precisando sanar no momento! Por isso venho a esse fórum que já me ajudou várias outras vezes...

 

A questão é a seguinte:

 

Se eu tenho uma Form chamada MeusProdutos e nela tenho uma função chamada AtualizarListaDeProdutos que por sua vez atualiza uma ListView contendo os dados vindos de um banco de dados, e dessa minha Form (MeusProdutos) eu abro outra Form chamada AdicionarProduto e depois de registrar os dados do novo produto e fecha-la eu quero que a minha função AtualizarListaDeProdutos que está na minha primeira Form (MeusProdutos) seja executada para que a lista de produtos seja atualizada.

Como faço isso? eu já tentei isso:

AdicionarProduto ap = new AdicionarProduto();
ap.Show();
AtualizarListaProdutos();

Onde a Form AdicionarProduto seria exibida ao usuário e ao ser fechada, a função AtualizarListaProdutos seria executada. Porém não obtive sucesso. Os novos dados são inseridos corretamente mas não atualizam a ListView automaticamente, somente manualmente.

 

Espero que a minha dúvida tenha sido bem descrita, e agradeço a todos que tiverem a boa vontade de me ajudar...

Grato, Brendon.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema é que o método AtualizarListaProdutos() é chamado logo depois do ap.Show();
Se colocar um break point verá que o ap.Show(); não faz o código parar ali e ficar esperando a janela fechar.

 

Se usar o ShowDialog acredito que funcionará como deseja.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por explosivemineyt
      Bom dia,
      Eu encontro-me a tentar realizar um formulário login do tipo google, mas apesar de estar a funcionar, por vezes quando recarrego a pagina aparece assim e tenho que carregar na pagina ou no campo ou outro local qualquer para atualizar.
       
      Gostaria de conseguir corrijir mas apesar de pesquisar não encontro como corrijir.
       
      o meu código html: 
      Meu código css: 
      Meu bootstrap.css(ficheiro muito grande, posso disponibilizar por um drive ou algo do genero) bootstrap versão v4.0.0
       




    • Por Andersonografia
      Gostaria de agradecer o topico do Tonga (topic/436039-resolvido refresh/) pois me esclareceu a criar um método prático para certificar se o form vem do botão ou do F5.
      Vou esclarecer também que só tenho essa necessidade quando o primeiro form do documento é um input, porque na maioria dos meus casos sempre é um search.  
       
      No Value do botão eu coloco o time:
      <button type="submit" name="carga" class="button" value="<?PHP echo $time;?>"> Coloco a condição se estiver setado e se for diferente da sessão:
      if(isset($_POST['carga'])) { $compara = ($_POST['carga']); if($compara != $_SESSION['compara']) { E depois do insert, ainda dentro da condição eu gravo a variável na sessão:
      $_SESSION['compara'] = $compara; Obrigado mais uma vez ao Tonga e ao Forum. Se alguém souber de um método mais prático, por gentileza será muito útil divulgar!!!!
    • Por yeahboy
      Quero que ao clicar em "Enviar consulta", execute um script .php que envie os dados no formulário para um .txt
      Eu mandaria pra db, mas ainda não aprendi, minha ideia com isso é apenas aprendizado em php, com testes locais.

    • Por Julle
      Porquê esse erro estar acontecendo?
       
       
       
      Notice: Undefined index: action in C:\xampp\htdocs\PhpProject1\index.php on line 4
      Nome:  
      Idade:  
      E-mail: 
      sexo:  > Masculino  >Feminino 
      Curso:               > selecione...              > Ciência da Computação                > Bacharelando em Informática              > Engenharia da Computação   
                
      Conhecimento:  >Microdoft Word  >HTML  >JavaScript  >PHP 
       
       
       
      Código: 
      <!DOCTYPE html>
      <?php
          if($_REQUEST["action"] =="save")
          { 
              
              
              $formValid = True;
              
              $tamanho_nome = strlen($_POST["CAMPO_NOME"]);
              if($tamanho_nome < 5|| $tamanho_nome > 64)
              {
                  echo("O campo  'NOME' deve ter entre 5 e 64 caracteres.".$tamanho_nome);
                  $formValid = FALSE;
              }
              
              $idade = (int)$_POST["CAMPO_IDADE"];
              if(is_NaN($idade)|| $idade < 4 || $idade > 120)
              {
                  echo("O campo 'Idade' deve ter preenchido corretamente."); 
                  $formValid = false; 
              }
              $email = $_POST["CAMPO_EMAIL"];
              $regex = 
              "/^[^0-9][A-z0-9_]+([.][A-z0-9_]+)*[@][A-z0-9_]+([.][A-z0-9_]+)*[.][A-z]{2,4}$/";
              if(!preg_match($regex, $email))
              {
                  echo("O campo 'E-mail' deve ter preenchido corretamente.");
                  $formValid = FALSE;
              }
              $sexo = $_POST["CAMPO_SEXO"];        
              if($sexo != "M" && $sexo != "F")
              {
                  echo("O campo 'sexo' deve ser preenchido.");
                  $formValid = FALSE;
              }
              $curso = $_POST["CAMPO_CURSO"];
              if($curso == "" || $curso == "Selecione . . .")
              {
                  echo("A campo 'curso' deve ser preenchido.");
                  $formValid = FALSE;
              }
              $conhecimento = $_POST["CAMPO_CONHECIMENTO"];
              if(sizeof($conhecimento)!= 2)
              {
                  echo("É necessário marcar 2 conhecimento.");
                  $formValid = FALSE;
              }
              if($formValid)
              {
                  echo("Formulário validado com sucesso");
                  exit();
              }
              
          }
          
        ?>
      <html>
          <head>
              <title>EXEMPLO - formulário</title>
              <script language=" JavaScrip">
              function validaForm()
              {
                  var tamanho_nome = document.forms["meuForm"].CAMPO_NOME.value.length;
                  if(tamanho_nome <5 || tamanho_nome >64)
                  {
                      alert("O campo 'nome' deve ter entre 5 e 64 caracteres");
                      return false;
                  }
                  var idade = document.forms["meuForm"].CAMPO_IDADE.value;
                  if(is_NaN($idade)|| $idade < 4 || $idade > 120)
                  {
                      echo("O campo 'Idade' deve ter preenchido corretamente."); 
                      return false;
                  }
                  var email = document.forms["meuForm"].CAMPO_EMAIL.value;
                  if(email.length<5 || email.length > 128 ||email.index0f(@) = = -1 ||
                  email.index0f('.') == -1){
                      alert("O campo 'Email' deve ter preenchido corretamente.");
                      return false;
                  }
                  var campo_sexo = document.forms["meuForm"].CAMPO_SEXO;
                  var sexo = false; 
                  for(i=0; i<campo_sexo.length;i++){
                      if(campo_sexo.checked == true)
                      {
                          sexo = campo_sexo.value;
                          brack;
                      }
                  }
                  if(sexo == false)
                  {
                      alert("O campo 'sexo' deve ser preenchido.");
                      return false;
                  }
                  var opcao_curso = document.forms["meuForm"].CAMPO_CURSO.selectedIndex;
                  if(opcao_curso == 0)
                  {
                      alert("O campo 'curso' deve ser preenchhido");
                      return false;
                  }
                  var conhecimento = document.forms["meuForm"].elements['CAMPO_CONHECIMENTOS[]'];
                  var conhecimentosMarcados =0;
                  for(i=0; i<conhecimentos.length; i++)
                  {
                      if(conhecimento.checked == true)
                      {
                          conhecimentosMarcados++;
                      }
                  }
                  if(conhecimentosMarcados != 2)
                  {
                      alert("É necessário marcar 2 conhecimento");
                      return false;
                  }
                  document.forms["meuForm"].submit();
                  
              }
              </script>
          </head>
          <body>
              
          <form method="POST" action="?action=save" name="meuForm">
                  
                  Nome:  <input type=TEXT name= "CAMPO_NOME" value=" <? echo $_POST[' CAMPO_NOME'];?>">
              <br>Idade: <input type=TEXT name="CAMPO_IDADE"  value="<? echo $_POST['CAMPO_IDADE'];?>">
              <br>E-mail:<input type=TEXT name="CAMPO_EMAIL"  value="<? echo $_POST['CAMPO_EMAIL'];?>">
              <br>sexo: <input type=RADIO name="CAMPO_SEXO" value="M"
                          <? if($_POST['CAMPO_SEXO']== "M"){echo "checked";}?> > Masculino
                          <input type=RADIO nome="CAMPO_SEXO" value="F"
                          <? if($_POST['CAMPO_SEXO']== "F"){echo "checked";}?> >Feminino
                  
                  
              <br>Curso: <select name= "CAMPO_CURSO">
                  <option <? if($_POST['CAMPO_CURSO']=="selecione . . . ")
                      { echo "selected";}?> > selecione...</option>
                  <option <? if($_POST['CAMPO_CURSO'] == "Ciência da Computação")
                      { eecho "selected";}?> > Ciência da Computação </option>
                  <option <? if($_POST['CAMPO_CURSO']=="Bacharelando em Informática")
                      { echo "selected";}?>  > Bacharelando em Informática</option>
                  <option <? if($_POST['CAMPO_CURSO']== " Engenharia da Computação")
                      {echo "selected";}?> > Engenharia da Computação </option>
              </select>
              
              <br>Conhecimento:
              <input type =checkbox name=CAMPO_CONHECIMENTOS[] value="Word" 
                     <?if(in_aray("Word", $_POST['CAMPO_CONHECIMENTOS[]') != FALSE){echo "checked"; }?> >Microdoft Word
              <input type =checkbox name=CAMPO_CONHECIMENTOS[] value="HTML"
                  <?if(in_aray("HTML",  $_POST['CAMPO_CONHECIMENTOS[]') != FALSE)
                  {echo "checked"; }?> >HTML
              <input type =checkbox name=CAMPO_CONHECIMENTOS[] value="JS"
                   <?if(in_aray("JS",  $_POST['CAMPO_CONHECIMENTOS[]') != FALSE)
                  {echo "checked"; }?> >JavaScript
              <input type =checkbox name=CAMPO_CONHECIMENTOS[] value="PHP"
                   <?if(in_aray("PHP",  $_POST['CAMPO_CONHECIMENTOS[]') != FALSE)
                  {echo "checked"; }?> >PHP
                  
              <br>
              <input type=RESET value="Limpar">
              <input type=BUTTON onClick="validaform();"value="Enviar">
          </form>     
              
                  
                           
          </body>
      </html>
    • Por Luiz091
      Bom dia,
       
      Estou com uma página retornando erro e não consigo corrigir. Sou iniciante em php e até o momento, a dificuldade persiste. Ao enviar a mensagem pelo formulário de contato a página não atualiza e retorna o seguinte erro:
       
      Notice: Undefined variable: message in /storage/ssd3/973/8336973/public_html/inc/sendEmail.php on line 31
      Notice: Undefined variable: error in /storage/ssd3/973/8336973/public_html/inc/sendEmail.php on line 47
      OK
       
       
      Este é o código do fomulário:
      <!-- form --> <form name="contactForm" id="contactForm" method="post" action="sendEmail.php"> <fieldset> <div class="form-field"> <input name="contactName" type="text" id="contactName" placeholder="Name" value="" minlength="2" required=""> </div> <div class="form-field"> <input name="contactEmail" type="email" id="contactEmail" placeholder="Email" value="" required=""> </div> <div class="form-field"> <input name="contactSubject" type="text" id="contactSubject" placeholder="Subject" value=""> </div> <div class="form-field"> <textarea name="contactMessage" id="contactMessage" placeholder="Message" rows="10" cols="50" required=""></textarea> </div> <div class="form-field"> <button class="submitform">Enviar</button> <div id="submit-loader"> <div class="text-loader">Sending...</div> <div class="s-loader"> <div class="bounce1"></div> <div class="bounce2"></div> <div class="bounce3"></div> </div> </div> </div> </fieldset> </form> <!-- Form End -->  
      Este é o Php:
      // Replace this with your own email address $siteOwnersEmail = 'user@website.com'; if($_POST) { $name = trim(stripslashes($_POST['contactName'])); $email = trim(stripslashes($_POST['contactEmail'])); $subject = trim(stripslashes($_POST['contactSubject'])); $contact_message = trim(stripslashes($_POST['contactMessage'])); // Check Name if (strlen($name) < 2) { $error['name'] = "Please enter your name."; } // Check Email if (!preg_match('/^[a-z0-9&\'\.\-_\+]+@[a-z0-9\-]+\.([a-z0-9\-]+\.)*+[a-z]{2}/is', $email)) { $error['email'] = "Please enter a valid email address."; } // Check Message if (strlen($contact_message) < 15) { $error['message'] = "Please enter your message. It should have at least 15 characters."; } // Subject if ($subject == '') { $subject = "Contact Form Submission"; } // Set Message $message .= "Email from: " . $name . "<br />"; $message .= "Email address: " . $email . "<br />"; $message .= "Message: <br />"; $message .= $contact_message; $message .= "<br /> ----- <br /> This email was sent from your site's contact form. <br />"; // Set From: header $from = $name . " <" . $email . ">"; // Email Headers $headers = "From: " . $from . "\r\n"; $headers .= "Reply-To: ". $email . "\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; if (!$error) { ini_set("sendmail_from", $siteOwnersEmail); // for windows server $mail = mail($siteOwnersEmail, $subject, $message, $headers); if ($mail) { echo "OK"; } else { echo "Something went wrong. Please try again."; } } # end if - no validation error else { $response = (isset($error['name'])) ? $error['name'] . "<br /> \n" : null; $response .= (isset($error['email'])) ? $error['email'] . "<br /> \n" : null; $response .= (isset($error['message'])) ? $error['message'] . "<br />" : null; echo $response; } # end if - there was a validation error } ?>  
      Poderiam me ajudar??
       
      O envio funciona, porém apresenta a mensagem de erro e não atualiza a página.
       
      Grato.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.