Update the first input when inserting

0

I have this form:

<form name="form1" class="teste" class="form-validate" id="feedback_form1">
<div class="campo">
         <fieldset> 
            <h1>
                <legend>
                    <center>
                        <strong>Esquecimento</strong>
            </center>
        </h1><br> 
    </div>      
 <fieldset class="grupo">
    <table class="campo" cellspacing="10">
        <tr>
        <td> 
        <strong><label for="Número de Esquecimento">Número de Esquecimento</label></strong>
        <input readonly="true" id="NumEsq" name="NumEsq" style="width:100px" 
<?php        
         $sql = "SELECT NumEsq FROM centrodb.Esquecimento ORDER BY NumEsq DESC LIMIT 1";
         $qr = mysqli_query($conn, $sql);
         while($ln = mysqli_fetch_assoc($qr)){
            echo '<option value="'.($ln['NumEsq']+1).'"';
         }
      ?>> 
        </td>
        <td>
            <strong><label for="Data/Hora">Data/Hora</label></strong>
            <input type="datetime" id="Data" name="Data" style="width:160px; height: 35px" value="<?php echo date("Y-m-d H:i:s");?>"/> 
            </td>
    <td>
        <strong><label for="Responsável">Responsável</label></strong>
        <select id="Responsavel" name="Responsavel" style="width:150px">
       <option></option>
        <?php        
         $sql = "SELECT * FROM centrodb.UtilizadoresDPO";
         $qr = mysqli_query($conn, $sql);
         while($ln = mysqli_fetch_assoc($qr)){
            echo '<option value="'.$ln['Id'].'">'.$ln['Nível'].'</option>';
         }
      ?> 
        </td>
        <td>
        <strong><label for="Tipo de Atividade">Tipo de Atividade</label></strong>
        <select id="Atividade" name="Atividade" style="width:150px">
       <option></option>
        <?php        
         $sql = "SELECT * FROM centrodb.AtividadesDPO";
         $qr = mysqli_query($conn, $sql);
         while($ln = mysqli_fetch_assoc($qr)){
            echo '<option value="'.$ln['Id'].'">'.$ln['Atividade'].'</option>';
         }
      ?>        
    </select>
        </td>
     </tr>
 </table>
        </fieldset>
        <fieldset class="grupo">
    <table class="campo" cellspacing="10">
        <tr>
      <td>
        <strong><label for="Aplicação">Aplicação</label></strong>
        <select id="Aplicacao" name="Aplicacao" style="width:150px">
       <option></option>
        <?php        
         $sql = "SELECT * FROM centrodb.TipoBDDPO";
         $qr = mysqli_query($conn, $sql);
         while($ln = mysqli_fetch_assoc($qr)){
            echo '<option value="'.$ln['Id'].'">'.$ln['BaseDados'].'</option>';
         }
      ?>        
    </select>
        </td>
        <td>
        <strong><label for="Instituição">Instituição</label></strong>
        <select id="Instituicao" name="Instituicao" style="width:400px">
       <option></option>
        <?php        
         $sql = "SELECT * FROM centrodb.Instituicao";
         $qr = mysqli_query($conn, $sql);
         while($ln = mysqli_fetch_assoc($qr)){
            echo '<option value="'.$ln['Id'].'">'.$ln['Instituicao'].'</option>';
         }
      ?>        
    </select>
        </td>
        <td>
        <strong><label for="Valência">Valência</label></strong>
    <select id="Valencia" name="Valencia" style="width:150px">
        <option></option>
        <?php
            $sql = "SELECT descricaovalencia  FROM centrodb.utentes GROUP BY descricaovalencia"; 
            $qr = mysqli_query($conn, $sql);
            while($ln = mysqli_fetch_assoc($qr)){ 
                echo '<option value="'.$ln['descricaovalencia'].'"> '.$ln['descricaovalencia'].'</option>'; 
            }
            ?>
    </select>
        </td>
     </tr>
 </table>
        </fieldset> 
        <fieldset class="grupo">
    <table class="campo" cellspacing="10">
        <tr>
      <td>
      <strong><label for="Funcionalidade">Funcionalidade</label></strong>
        <select id="Funcionalidade" name="Funcionalidade" style="width:400px">
       <option></option>
        <?php        
         $sql = "SELECT * FROM centrodb.FuncionalidadeDPO";
         $qr = mysqli_query($conn, $sql);
         while($ln = mysqli_fetch_assoc($qr)){
            echo '<option value="'.$ln['Id'].'">'.$ln['Funcionalidade'].'</option>';
         }
      ?>        
    </select>
      </td>
      <td>
    <strong><label for="Entidade">Entidade</label></strong>
    <select id="Entidade" name="Entidade" style="width:150px">
        <option></option>
    </select>
</td>
     </tr>
 </table>
 </fieldset>    
 <fieldset class="grupo">
    <table class="campo" cellspacing="10">
        <tr>
        <td>
        <strong><label for="Motivo do Esquecimento">Motivo do Esquecimento</label></strong>
        <textarea type="text" id="Observacoes" name="Observacoes" rows="3" cols="90"></textarea><br/></p></br>
      </td></tr>
 </table>
 </fieldset>    
         <button class="btn btn-success btn_contact botao">Registo</button>
        <div id="success_messages" class="hide">sucessso</div>
        <div id="error_message" class="hide">erro</div>
</form>

On this page I have the following script:

(function ($) {$(document).ready(function(){ 
$("#feedback_form1").submit(function(e){ 

e.preventDefault(); 

var Responsavel = form1.Responsavel.value; 
var Atividade = form1.Atividade.value; 
var Aplicacao = form1.Aplicacao.value; 
var Instituicao = form1.Instituicao.value; 
var Valencia = form1.Valencia.value; 
var Funcionalidade = form1.Funcionalidade.value; 
var Entidade = form1.Entidade.value; 
var Observacoes = form1.Observacoes.value; 

if (!Responsavel) { 
alert('Preencha o campo com o Responsavel'); 
form1.Responsavel.focus(); 
return false; 
} 
if (!Atividade) { 
alert('Preencha o campo com a Atividade'); 
form1.Atividade.focus(); 
return false; 
} 
if (!Aplicacao) { 
alert('Preencha o campo com a Aplicacao'); 
form1.Aplicacao.focus(); 
return false; 
} 
if (!Instituicao) { 
alert('Preencha o campo com a Instituicao'); 
form1.Instituicao.focus(); 
return false; 
}
if (!Valencia) { 
alert('Preencha o campo com a Valencia'); 
form1.Valencia.focus(); 
return false; 
} 
if (!Funcionalidade) { 
alert('Preencha o campo com a Funcionalidade'); 
form1.Funcionalidade.focus(); 
return false; 
}  
if (!Entidade) { 
alert('Preencha o campo com a Entidade'); 
form1.Entidade.focus(); 
return false; 
} 
if (!Observacoes) { 
alert('Preencha o campo com a Observação'); 
form1.Observacoes.focus(); 
return false; 
}    
            $.ajax({
                    type: "POST",
                    url: "./Inserir40",
                    data: $("#feedback_form1").serialize(), // serializes the form's elements.
                    dataType: "json",
                    success: function (data)
                    {
                        $(".success_messages").removeClass('hide'); // success message
                        $("#NumEsq").val(data["numEsq"]);

                        }, 
                    error: function(data){
                            $(".error_message").removeClass('hide'); // error message
                        },
                    complete: function()
                    { 
                         $('#Responsavel').val(''); //clear text
                         $('#Atividade').val(''); //clear text
                         $('#Aplicacao').val(''); //clear text
                         $('#Instituicao').val(''); //clear text
                         $('#Valencia').val(''); //clear text
                         $('#Funcionalidade').val(''); //clear text
                         $('#Entidade').val(''); //clear text
                         $('#Observacoes').val(''); //clear text    
                    } 

                });

            });
 });
 })(jQuery);

Then I have another php file where I insert the data:

<?php 
$NumEsq = isset($_POST["NumEsq"]) ? $_POST["NumEsq"] : '';
$Data = isset($_POST["Data"]) ? $_POST["Data"] : '';   
$Responsavel = isset($_POST["Responsavel"]) ? $_POST["Responsavel"] : '';   
$Atividade = isset($_POST["Atividade"]) ? $_POST["Atividade"] : '';
$Aplicacao = isset($_POST["Aplicacao"]) ? $_POST["Aplicacao"] : ''; 
$Instituicao = isset($_POST["Instituicao"]) ? $_POST["Instituicao"] : '';
$Valencia = isset($_POST["Valencia"]) ? $_POST["Valencia"] : '';    
$Funcionalidade = isset($_POST["Funcionalidade"]) ? $_POST["Funcionalidade"] : '';
$Entidade = isset($_POST["Entidade"]) ? $_POST["Entidade"] : '';
$Observacoes = isset($_POST["Observacoes"]) ? $_POST["Observacoes"] : '';  

$sql = "INSERT INTO centrodb.Esquecimento ('NumEsq','Data','Responsavel','Atividade','Aplicacao','Instituicao','Valencia','Funcionalidade','Entidade','Observacoes') 
VALUES ('$NumEsq','$Data','$Responsavel','$Atividade','$Aplicacao','$Instituicao','$Valencia','$Funcionalidade','$Entidade','$Observacoes')";
$qr = mysqli_query($conn, $sql);

$conn->close();

$success["NumEsq"]=(int)$NumEsq + 1;
echo json_encode($success);
?>

Everything works fine, how to enter the data and how to clear the form. This is the form:

The problem I have is that when I insert I want to update the input that is surrounded in red in the form automatically. This input adds 1 to the last record entered in the database table.

    
asked by anonymous 06.08.2018 / 16:33

1 answer

1

I believe the error is here:

success: function (data)
{
    $(".success_messages").removeClass('hide'); 
    $("#NumEsq").val(data["numEsq"]);

}, 

The return of the date is being object and not array, the correct would be:

$("#NumEsq").val(data.numEsq);

or

data = JSON.parse(data);
$("#NumEsq").val(data.numEsq);

And not:

$("#NumEsq").val(data["numEsq"]);
    
07.08.2018 / 17:12