簡體   English   中英

用php提交表單后的彈出消息

[英]Pop-up message after submitting a form with php

我正在嘗試獲取一條彈出消息,說明是否已成功提交,而不必轉到其他頁面。

現在chrome給了我彈出消息,但之后將我重定向到空白頁。

這是我當前的代碼。

<?php
include "header.php";
include "conexao.php";
echo "<h1 align='center'>Pagina para alterar produtos</h1><div class='container'><hr>";
$referencia=$_GET['id'];


$sql = "SELECT * ";
        $sql = $sql . " FROM tb_produto ";
        $sql = $sql . " WHERE pr_codigo='".$referencia."'";
        $produtos = $db->query($sql);
        foreach ($produtos as $produto) {
            $referencia = $produto["pr_codigo"];
            $nome = $produto["pr_descricao"];
            $preco = $produto["pr_preco"];
            $disponivel = $produto["disponivel"];
        }
        echo "<h2>Referencia: ".$referencia."</h2>";
        echo "<h2>Nome: ".$nome."</h2><hr>";

?>
<form action="confirmaAlterar.php">
<div class="form-group">
<label>Referencia</label>
    <input class="form-control" type="text" name="referencia" value="<?php echo $referencia?>">
</div>
<div class="form-group">
<label>Nome</label>
    <input class="form-control" type="text" name="nome" value="<?php echo $nome?>">
</div>
<div class="form-group">
<label>Preço</label>
    <input class="form-control" type="text" name="preco" value="<?php echo $preco?>">
</div>
<button class="btn btn-primary">Alterar</button>
</form>

它在此處提交表單信息。

<?php
include "header.php";
include "conexao.php";
$nome=$_GET['nome'];
$referencia=$_GET['referencia'];
$preco=$_GET['preco'];
$sql="UPDATE tb_produto SET pr_descricao='".$nome;
$sql.="', pr_preco=".$preco;
$sql.= " WHERE pr_codigo='".$
try{
    $comando=$db->prepare($sql);
    $comando->execute();
    echo "<script type='text/javascript'>alert('submitted successfully!')</script>";
    header( "refresh2;Location:index.php" );
}
catch (PDOException $e){
    echo "A";
}

使用ajax傳遞值。 形成:

<form id="form">
<input type="text" value="test" name="akcija"> 
</form>

表單中的所有輸入字段值都將被傳遞。

阿賈克斯:

jQuery(function(){
$('#form').on('submit', function (e) { //on submit function
    e.preventDefault();
    $.ajax({
      type: 'post', //method POST
      url: 'yoururl.php', //URL of page where u place query and passing values
      data: $('#form').serialize(), //seriallize is passing all inputs values of form
      success: function(){ //on success function
              $("#input").attr("disabled", true); //example
              $("#input").removeClass('btn-primary').addClass('btn-success');//example
                  },
    });
}
});

在ajax頁面上,您可以通過

$akcija = $_POST['akcija']

對於這個問題,您必須使用ajax方法。

1-創建html表單,並輸入所有Required。

<form id="contactForm2" action="/your_url" method="post">
...
</form>

2-在html頁面的頭部添加jQuery庫文件。

<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js">       
</script>
...

3-在jQuery庫下添加此方法

<script type="text/javascript">
var frm = $('#contactForm2');
frm.submit(function (ev) {
    $.ajax({
        type: frm.attr('method'),
        url: frm.attr('action'),
        data: frm.serialize(),
        success: function (data) {
           if(data == 'pass')
            alert('ok');
           else(data == 'fail')
            alert('no');
        }
    });

    ev.preventDefault();
});
</script>

4-在your_url .php文件中

<?php 

  $a = ok ;
  if( $a == 'ok' ){
    echo 'pass';
  }else{
    echo 'fail';
  } 

?>

這個最佳答案是使用jquery易於管理的表單,但是您需要管理復雜表單可以更好地使用此庫http://jquery.malsup.com/form/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM