The problem: When running in Google Chrome, the browser accuses of having an error in the lerLista
function, although I have not been able to solve it, I believe it is a problem to capture the product field.
<!DOCTYPE html>
<head>
<title>Lista de Compras</title>
<meta charset="UTF-8"/>
</head>
<html>
<body>
<h2>Item lista de compra</h2>
<form name="entradaDaLista">
Produto: <input type="text" id="produtoId" name="produto" >
Quantidade:<input type="text" id="quantidadeId" name="quantidade" >
Preço:<input type="text" id="precoId" name="preco" >
<button type="button" onclick="criaLista()">Incluir</button>
<p id="output"></p>
</form>
</body>
<script>
function item(){
this.produto=document.getElementById("produtoId");
this.quantidade=document.getElementById("quantidadeId").value;
this.preco=document.getElementById("precoId").value;
}
function criaLista(){
var lista=[];
for( var i=0;i<lista.length;i++){
lista[i].push(new item());
}
lerLista(lista);
}
function lerLista(lista){
document.getElementById("output").innerHTML +="Lista de compras <br> Produto
Quantidade Preço Total";
for (var i of lista){
document.getElementById("output").innerHTML +="<br>";
document.getElementById("output").innerHTML +=" "+ lista[i].produto;
document.getElementById("output").innerHTML +="
"+parse.int(lista[i].quantidade);
document.getElementById("output").innerHTML +=" "+parse.int(lista[i].preco);
document.getElementById("output").innerHTML +="
"+parse.int(lista[i].quantidade*lista[i].preco);
}
}
</script>
</html>
Error returned:
Uncaught SyntaxError: Invalid or unexpected token