Boa tarde, agora na implementação da alteração, consigo listar o título a ser alterado porém recebo a mensagem "Error: Render error. Exception: ReferenceError: livro is not defined" desta vez ao submeter o novo valor para título, estou tentando persistir a variável original através de um input hidden aproveitando a variável que já é utilizada para listar o título retornado pela busca, desta forma os valores original e o novo serão utilizados pela query que atualizará o valor para título, entretanto o input hidden não parece conseguir ler a variável original que exibe na página os dados do livro buscado, seguem os códigos:
Há outra forna de manter as duas variáveis em memória para utilização na query de atualização ? Obrigado.
Titulo Recuperado pela Busca para Alteracao:
<table>
<tr>
<td>ID</td>
<td>Título</td>
<td>Preco</td>
<td>-----</td>
<td>Descricao</td>
</tr>
<tr for (livro in data.livros)>
<td>${livro.id}</td>
<td>${livro.titulo}</td>
<td>${livro.preco}</td>
<td>${livro.descricao}</td>
</tr>
</table>
<form action="/livros/manutencaoLivros/alteracaoLivros/resultadoAlteracaoPorTitulo" method="post">
<input type="hidden" id="titulo" name="titulo" value="${livro.titulo}"/>
<div>
<label for="titulo">Informe o novo valor do Titulo:</label>
<input type="text" id="novoTitulo" name="novoTitulo" placeholder="coloque o novo titulo" />
</div>
<input type="submit" value="Alterar" />
</form>
</body>
alteraRegistroPorTitulo001(livro){
return new Promise((resolve, reject) => {
console.log("Entrou na funcao de alteracao de livros <<<<<<<<<<<<<<<<<<<<<");
// A variável com o título original não é preenchida aproveitando o código da listagem
console.log("Variavel com titulo original ---->>>> " + [ livro.titulo ] );
console.log("Variavel com titulo novo ---->>>> " + [ livro.novoTitulo ] );
this._db.all(
"UPDATE livros SET titulo=? WHERE titulo =? ", [ livro.titulo, livro.novoTitulo ],
(erro, resultados) => {
if (erro) return reject("Nao foi possivel listar os livros.");
return resolve(resultados);
}
)
})
}