Jump to content
ROGERIO MOREIRA

Enviar post via javascript para PHP

Recommended Posts

Olá pessoal

 

tenho um formulario de cadastro que ao clicar ok enviar para a validação,

porém após sair da validação o php não encontra mais o botão ok para fazer a gravação;

faço isso porque o meu formulário tem dois submit, um para verificar duplicidade após preencher o codigo

outro no botão ok para efetivar o cadastro,

 

o que eu preciso é que ele encontre o botão ok após passar pela validação mas parece que o botão ok não vai junto a outros campos

 

após a validação, quero reenviar o botão como post ok para ser encontrado lá em cima na sessão php:

var ok = "ok";
document.getElementById("ok").value = ok;
document.form1.submit();

aqui na sessão php ele só faz a gravação se for dado ok:

if(isset($_POST['ok'])) {

o que tá errado?

 

 

 

 

Edited by Gabriel Heming
adicionar marcação de código

Share this post


Link to post
Share on other sites

Olá!

O $_POST['ok'] espera uma variável de name ok com qualquer value. E não um value ok.

Então... o seu elemento html de id='ok' deve ter também o atributo name='ok'

  • Gostei 1

Share this post


Link to post
Share on other sites

Olá   amigo washalbabo, obrigado pela resposta.

 

o botão que leva para a validação está assim:                        

<input type="button"
       value="Ok"
       name="ok"
       id="ok"
       style="width: 100px"
       onClick="return validaForm();" /></form>

isso funcionava normalmente até eu criar outro campo que dá submit antes do ok e faz um outro processo php antes de enviar o form definitivamente para a gravação;

 

agora eu não consigo reenviar esse botão ok depois da validação em javascript, me parece que o botão some como post após a validação,

 

então eu preciso reenviar esse botão com o nome ok para que o php o encontre e saiba que é momento de fazer a gravação

 

 

Edited by Gabriel Heming
adicionar marcação de código

Share this post


Link to post
Share on other sites

O outro botão provavelmente tem o mesmo name ou id.

Voce pode usar um campo input type="hidden".

<form action="cadastro.php">
  First name: <input type="text" name="nome" id="nome">
  <input type="hidden" name="validoNome" id="validoNome" value="true">

  <button name="validoNomeAJAX" id="validoNomeAJAX" onclick="validoNomeAJAX()">Verifica</button>

  <input id="sbmCadastro" type="submit" value="Submit" onclick="alert('click event occured')" >
</form>

 

Edited by Gabriel Heming
adicionar marcação de código
  • Gostei 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By makinh0
      algoritmo "CalculoIMC"
      var
         M, A, IMC: Real
      iniciO
          Escreva ("Massa (Kg): ")
          Leia(M)
          Escreva("Altura (m): ")
          Leia (A)
          IMC <- M / (A ^ 2) //massa dividido pela altura ao quadrado;;//
          Escreval("IMC: ", IMC :5:2) //5Casas e 2 decimais //
          Se (IMC >= 18.5) E (IMC < 25) entao
          Escreva ("Parabens! Voce esta no seu peso ideal")
          senao
          Escreva("Voce nao esta na faixa de peso ideal")
          FimSe
          
      fimalgoritmo
       
    • By David Samu
      let total_entradas = 3//ai virar total de colunas
      let total_linhas   = 0
      let tabela         = []
      for(let coluna=total_entradas; coluna>0; coluna-- )
      {
          let repeticao = 1
          for(let x=1; x<=coluna; x++)
          {
              repeticao = (2 * repeticao)
          }
          if( total_linhas === 0 )
          {
              total_linhas = repeticao
          }
          if(repeticao != 1) 
          {
              repeticao = (repeticao / 2)
          }
          let valores = []
          let vdd     = 1
          let lastBoo = 'v'
          for( let linha=0; linha < total_linhas; linha++ )
          {
              if( vdd <= repeticao )
              {
                  val = lastBoo
              }
              else
              {
                  if( lastBoo == 'v' )
                  {
                      lastBoo = 'f'  
                  }
                  else 
                  {
                      lastBoo = 'v'
                  }
                  val = lastBoo
                  vdd=1
              }
              vdd++
              valores.push(val)
          }
          tabela[ (coluna - 1) ] = valores   
      }
      let countCol = 1
      for(let coluna=tabela.length - 1; coluna>=0; coluna--)
      {
          console.log("Coluna ", countCol++)
          for(let linha = 0; linha < tabela[coluna].length; linha ++)
          {
              console.log( tabela[coluna][linha] )
          }
      }
    • By tarsio
      Boa noite pessoa so novo na programação e gostaria de saber, porque meu tempo limite de consulta está no limite, esse e um pedaço do código fora esse tenho mais 14 query então só 8 funcionam e gostaria de saber alguma maneira para que todas a consultas funcionem. Colocando botoes de alguma maneira resolver esse problema.    <div class="panel-group" id="accordion"> <div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title"> <a data-toggle="collapse" data-parent="#accordion" href="#collapse9"><h2>cliente<h2></a>
      </h3> </div> <div id="collapse9" class="panel-collapse collapse"> <div> <?php try{   $query7= $Conexao->query( " SELECT C.FTP_CLIENTE,dbo.MinutesToDuration2021(SUM(DATEDIFF(MINUTE,E.DT_ENVIADO,E.DT_RECEBIDO)),COUNT(E.ID_EXAME)) as TEMPO FROM WR_CLIENTE C INNER JOIN E ON  =  WHERE  = 2 AND (convert(datetime,'$datai',110)) AND (convert(datetime,'$dataf',110)) GROUP BY E ORDER BYE ASC;");   $exs7 = $query7->fetchAll();   }catch(Exception $e){ echo $e->getMessage(); exit; }   ?> <br> <br> <table id="table11" data-toggle="table" class="table table-hover" data-sort-name="FTP_CLIENTE" data-sort-name="TEMPO"> <thead> <tr> <th data-field="FTP_CLIENTE" data-sortable="true" scope="row">CLIENTE</th> <th data-field="TEMPO" data-sortable="true" scope="row">TEMPO</th> </tr> </thead> <tbody> <!---carregar os refistro --> <?php foreach($exs7 as $ex) { ?> <tr>   <td><?php echo $ex['FTP_CLIENTE'];?></td> <td><?php echo $ex['TEMPO'];?></td> </tr> <button class="mais">Carregar mais</button> <?php } ?> </tbody> </table> </div> </div> </div> </div>   </div>
    • By Adriana de Luca
      Estou tentando pegar o id do livro para depois fazer um update para controlar o estoque, consegui pegar o id, porem não consigo coloca-lo no mysql
      Se coloco um id valido, ele traz as informações, porem se chamo  {'$livro_id'} da erro.
       
      Alguém pode por favor me ajudar? agradeço muito.
       
      <?php

      $query = mysql_query("SELECT * FROM produtos 
      inner join estoque ON produtos.livro_id = estoque.livro_id");

      ?>
      <div class="central">
                     <form action="#" method="GET">
                         <fieldset>
                             <legend class="titulo">Consultar Livraria</legend>
                             <select type="text" name="produtos">
                                 <option value="">Selecionar..</option>
                              <?php
                                     $sql =  mysql_query("SELECT livro_id, nome as titulo FROM produtos");
                                      while ($result = mysql_fetch_array($sql) )
                                      {
                                         echo "<option value='".$result['livro_id']."'>".$result['titulo']."</option>";
                                     }
                                 ?>                            
                             </select>
                             <input class="botao" type="submit" name="ajustar" value="Ok" />
                         </fieldset>
                      </form>
                     
       <?php
      //aqui ele mostrara o código do livro    
      echo $_GET['produtos'];
      $livro_id='produtos';

      $sql1="SELECT * FROM produtos 
      inner join estoque ON produtos.livro_id = estoque.livro_id WHERE produtos.livro_id= {'$livro_id'}";
            
      $res=mysql_query($sql1); 
                    while($registro=mysql_fetch_row($res))                
      {    
                                            
        $nome=$registro[1];                             
        $autor=$registro[2]; 
        $editora=$registro[3]; 
        $colecao=$registro[4];                             
        $preco=$registro[5];                                   
        $data=$registro[6];   
        $quantidade=$registro[0];                      
                                           
        ?>
        <?php 
            echo "Título: $nome<br>";                                    
            echo "Autor: $autor<br>"; 
            echo "Editora: $editora<br>";  
            echo "Coleção: $colecao<br>";                             
            echo "Preço: $preco<br>";                                    
            echo "Quantidade: $quantidade<br>"; 
            echo "Data: ".date('d-m-Y', strtotime($data))."<br><p>";   

        mysql_close($connect);               
              
      ?>
    • By vinihhylian0103
      Boa noite, eu tenho um campo no meu cadastro para o usuário selecionar seu curso, que seria esse:
       
      <select name="curso" type="text" required=".$this->fields["cursos"]."> <option value="Informática">Informática</option> <option value="ADM">Administração</option> <option value="Edificações">Edificações</option> /> e eu gostaria de saber como gravar essa escolha no banco de dados, segue o código de inserrir
       
      <?php if(!$conect=mysqli_connect('localhost','root','','cadastros')) die ('erro ao conectar'); #Recolhendo os dados do formulário $nome=mysqli_real_escape_string($conect, $_POST['nome']); $sobrenome=mysqli_real_escape_string($conect, $_POST['sobrenome']); $data=mysqli_real_escape_string($conect, $_POST['data_nasc']); $rm=mysqli_real_escape_string($conect, $_POST['rm']); $curso=mysqli_real_escape_string($conect, $_POST['curso']); $email=mysqli_real_escape_string($conect, $_POST['email']); $senha=mysqli_real_escape_string($conect, $_POST['senha']); # Verificando apenas um campo, no caso dado1. $sql = $conect->query("SELECT * FROM usuarios WHERE email='$email'"); if(mysqli_num_rows($sql) > 0){ echo "Este email já foi cadastrado!"; exit(); } else { if(!$conect->query("INSERT INTO usuarios(nome, sobrenome, data_nasc, rm, curso, email, senha) VALUES('$nome','$sobrenome','$data','$rm','$curso','$email','$senha')")) die ('Os dados não foram inseridos'); echo "<script type='text/javascript'>alert('Cadastro Concluído!');</script>"; header('Location: index.html'); } Muito obrigado desde já!
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.