Error in program to make a market list

0

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

    
asked by anonymous 26.10.2018 / 02:53

1 answer

1

Its function criaLista () will never complete the list because the array lista.length property is always zero once you've finished creating the array on the top line.

<!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="adicionaItem()">Incluir</button>
		<p id="output"></p>
</form>

</body>
<script>
var lista=[]; 

function item(){

this.produto=document.getElementById("produtoId").value;
this.quantidade=document.getElementById("quantidadeId").value;
this.preco=document.getElementById("precoId").value;

}
function adicionaItem(){


	lista.push(new item());
	
  lerLista(lista);
 
}






function lerLista(lista){
document.getElementById("output").innerHTML ="Lista de compras <br> Produto  Quantidade  Preço  Total";
for (var item of lista){
document.getElementById("output").innerHTML +="<br>";
document.getElementById("output").innerHTML += item.produto;
document.getElementById("output").innerHTML += item.quantidade;
document.getElementById("output").innerHTML += item.preco;
document.getElementById("output").innerHTML += parseInt(item.quantidade)*parseInt(item.preco);
}
}
</script>
</html>
    
26.10.2018 / 11:56