繁体   English   中英

Ajax表单提交不适用于PHP

[英]Ajax form submit not working in PHP

当即时通讯正在从profiles.php进行ajax调用update.php时,它进入了空白页update.php,但是如果我回到profile.php idk,它确实会进行更改,即时通讯在做什么错,即时通讯缺少了什么?

profile.php

<?php                                                                                                       include_once("includes/config.php");

    if (isset($_GET['id']))

    {

    $Nome = $_GET['id'];

    $sql = "SELECT * FROM utilizadores WHERE id='$Nome'";

    $result = $conn->query($sql);

    if ($result->num_rows > 0) {                                           

    if($row = $result->fetch_assoc()) {

     echo'
     <br>
     <form action="update.php" method="post"  id="go"  class="go" accept-charset="utf-8">
      <div class="content" >
      <div class="container-fluid">
      div class="row">
      <div class="col-md-8">
      <div class="card">
      <div class="header">
      <h4 class="title">Perfil do paciente</h4>
      </div>

       <div class="content">
       <div class="row">
       <div class="col-md-4">
       <div class="form-group">
       <label>Nome</label>
       <input type="text" class="form-control" disabled placeholder="Nome" value="'.$row["Nome"].'">
       </div>
       </div>

        <div class="col-md-4">
        <div class="form-group">
        <label>Apelido</label>
        input type="text" class="form-control" disabled placeholder="Apelido" value="'.$row["Apelido"].'">
         </div>
         </div>

         <div class="col-md-4">
         <div class="form-group">
         <label for="exampleInputEmail1">Email</label>
         <input type="email" class="form-control" name="Email "disabled placeholder="Email" value="'.$row["Email"].'">
          </div>
          </div>
          </div>

          <div class="row">
          <div class="col-md-4">
          <div class="form-group">
           <label>Idade</label>
           <input type="text" class="form-control" disabled placeholder="Idade" value="'.$row["Idade"].'">
           </div>
           </div>

           <div class="col-md-4">
           <div class="form-group">
           <label>Sexo</label>
           <input type="text" class="form-control" disabled placeholder="Sexo" value="'.$row["Sexo"].'">
           </div>
           </div>

           <div class="col-md-4">
           <div class="form-group">
           <label>Telefone</label>
           <input type="text" class="form-control" disabled placeholder="Telefone" value="'.$row["Telefone"].'">
             </div>
             </div>
             </div>

            <div class="row">
            <div class="col-md-3">
            <div class="form-group">
            <label>Peso</label>
            <input type="text" class="form-control" disabled placeholder="Peso" value="'.$row["Peso"].'Kg">
             </div>
            </div>

           <div class="col-md-3">
           <div class="form-group">
           <label>Altura</label>
           <input type="text" class="form-control" disabled placeholder="Altura" value="'.$row["Altura"].'Cm">
           </div>
           </div>
          <div class="col-md-3">
          <div class="form-group">
          <label>Perimetro Abdominal</label>
          <input type="text" class="form-control" disabled placeholder="Perimetro abdominal" value="'.$row["Perimetro_abdominal"].'Cm">
          </div>
          </div>

          <div class="col-md-2">
          <div class="form-group">
          <label>Perimetro Anca </label>
          <input type="text" class="form-control" disabled placeholder="Perimetro Anca" value="'.$row["Perimetro_anca"].'Cm">
            </div>
            </div>
            </div>

            <div class="row">
            <div class="col-md-6">
            <div class="form-group">
            <label>Medicação:</label>
            <textarea rows="3" class="form-control" name="Medicacao" placeholder="Medicação" id="Medicacao">'.$row["Medicacao"].'</textarea>
             </div>

            <input type=hidden name=hidden value="'.$row["id"].' ">
            <input type="submit" name="med" class="btn btn-info btn-fill pull-right" value="Atualizar" id="med"></div>

             <div class="col-md-6">
             <div class="form-group">
             <label>Observações:</label>
             <textarea rows="3" name="Obs"  class="form-control"  placeholder="Anotar observações" id="Obs">'.$row["Obs"].' </textarea>
                                                </div>   

            <input type="submit" name="obs" class="btn btn-info btn-fill pull-right" value="Atualizar">                                        
             </div>
             </div></form>';

              }


                   // Check connection
                   if (mysqli_connect_errno())
                   {
                   echo "Failed to connect to MySQL: " . mysqli_connect_error();
                   }
                   mysqli_close($conn);

                ?>
               <script type="text/javascript">
               $( "#med" ).click(function() {
               $.ajax({
               type: "POST",
               url: "update.php",
              success: function(){
              alertify.success('campo atualizado com sucesso');
              }
              });
              });

</script>

update.php

include_once("includes/config.php");

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

 $UpdateQuery = "UPDATE utilizadores SET Medicacao='$_POST[Medicacao]' WHERE id='$_POST[hidden]' ";
 $res = mysqli_query($conn,$UpdateQuery);

 if($res == 1) 
{
  //header('Location: ' . $_SERVER['HTTP_REFERER'],true,  301 );
} 
 ?>

处理click事件时,不会取消submit按钮的默认submit事件。 这也导致通过以常规方式提交表单,方法是转到表单的action属性中设置的url。

除此之外,还需要将数据添加到ajax请求中。

这个:

$( "#med" ).click(function() {
    $.ajax({
       type: "POST",
       url: "update.php",
       success: function(){
           alertify.success('campo atualizado com sucesso');
       }
    });
});

应该:

$( "#med" ).click(function(event) {
    // cancel default submit event
    event.preventDefault();
    $.ajax({
       type: "POST",
       // add data
       data: $('form#go').serialize(),
       url: "update.php",
       success: function(){
           // Do whatever you need to here
           console.log('campo atualizado com sucesso');
       }
    });
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM