I need to return the database data inside the inputs when I select the "Edit" button without the page being reloaded, however, by clicking "Edit", I see that the button action changes, according to the javascript code, but the inputs are not filled with the data that is in the database. Here's the script:
$(document).on('click','.update', function(){
var id = $(this).attr("id");
$.ajax({
url:"../control/control_salvaEdicao.php",
method:"POST",
data:{id:id},
datatype:"json",
success:function(data){
$('#action').text("Editar");
$('#id').val(id);
$('#nome').val(data.nome);
$('#sobrenome').val(data.sobrenome);
$('#endereco').val(data.endereco);
}
});
});
HTML
<head>
<title>Cadastro de Pessoas</title>
<link rel="stylesheet" type="text/css" href="Css/Style.css"/>
<script language="JavaScript" src="Js/jquery-1.12.3.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script><scriptsrc="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script><linkrel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<link rel="stylesheet" href="/resources/demos/style.css">
</head>
<body>
<div id="tudo">
<div id="pessoas">
</div>
<div id="boxcentral" align="center">
<label>Nome: </label>
<input type="text" name="nome" id="nome"/>
</br></br>
<label>Sobrenome: </label>
<input type="text" name="sobrenome" id="sobrenome"/>
</br></br>
<label>Endereço: </label>
<input type="text" name="endereco" id="endereco"/>
</br></br>
<input type="hidden" name="id" id="id"/>
<button type="button" name="action" id="action">adicionar</button>
<div id="resultado">
</div>
</div>
File editaEvento.php
if (isset ($_POST['id'])){
$pessoa = new Pessoa();
$peopleDAO = new PessoaDAO();
$pessoa->getId($_POST['id']);
$retornoPessoa = $peopleDAO->buscaPessoaID($pessoa);
if($retornoPessoa != null){
foreach ($retornoPessoa as $obj){
$obj->getId();
$obj->getNome();
$obj->getSobrenome();
$obj->getEndereco();
}
return $obj;
}
}
File salvaEdicao.php
if($_POST["action"]== "editar"){
$pessoa = new Pessoa();
$pessoaDAO = new PessoaDAO();
$pessoa->setId($_POST['id']);
$pessoa->setNome($_POST['nome']);
$pessoa->setSobrenome($_POST['sobrenome']);
$pessoa->setEndereco($_POST['endereco']);
try{
$resultado = $pessoaDAO->update($pessoa);
}catch(exeption $e){
$erro=$e->getmessage();
echo $erro;
}
if ($resultado == true){
$sucess_message="Cadastro atualizado com sucesso!";
echo $sucess_message;
}
}