Galera estou montando uma tela de pdv, e queria saber se tem como em java scrip mesmo eu fazer o calculo pra gerar o troco do cliente...
no caso eu tenho que pegar o valor que o caixa digita e subtrair com o total dos produtos..
como eu poderia fazer isso
aki estaum as jsp's de onde tem o totalGeral dos produtos e onde o caixa vai colocar o valor recebido<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>PDV</title>
<script src="include/scripts/prototype.js"></script>
<script src="include/scripts/jsLib.js"></script>
</head>
<body>
<center><h1>Ponto de Venda - <font color="Red">Meeble Tecnologia</font></h1></center>
<table border="1" cellpadding="5" cellspacing="0">
<tr>
<td>
<table width="20%" bgcolor="silver" border="1">
<tr>
<td>
<h4><b><font color="Blue">Data Venda:</font></b></h4>
</td>
<td>
<b><fmt:formatDate value="${vendaPDV.dataVenda}" pattern="dd/MM/yyyy" /></b>
</td>
</tr>
<tr>
<td>
<h4><b>Cliente: <input type="text" size="35" onblur="localizaCliente()" id="_idCliente" name="idCliente" value="<c:out value='${vendaPDV.clienteDTO.codigo}' />"></b></h4>
</td>
<td>
<b><div id="razaoSocial"></div></b>
</td>
</tr>
<tr>
<td>
<h4><b>Quantidade:</b></h4>
</td>
<td>
<input type="text" size="30" id="_quantidade" name="quantidade" value="1">
</td>
</tr>
<tr>
<td>
<h4><b>Produto:<input type="text" size="35" onblur="localizaProduto()" id="_idProduto"name="idCliente" value="<c:out value='${vendaPDV.clienteDTO.codigo}' />"></b></h4>
</td>
<td>
<b><div size="50" id="_produtoDescricao"></div></b>
</td>
</tr>
</table></td>
<td width="100%">
<table width="100%" align="right">
<div id="_listaProdutos"></div>
</table>
</td>
</table>
<table>
<tr>
<td>
<b><h3><font color="blue">Forma de Pagamento: </font></h3></b>
</td>
<td>
<select type=text name="pagamento" value=''>
<option value="dinheiro">Dinheiro</option>
<option value="cartaoCredito">Cartao de Crédito</option>
<option value="cartaoDebito">Cartão de Débito</option>
<option value="Cheque">Cheque</option>
</select>
</td>
<td>
<b><h3><font color="blue">Valor: </font><input type="text" size="20" name="valor"></h3></b>
</td>
<td>
<h3><b><font color="blue">Troco: </font></b></h3>
</td>
<td>
<h3><b><fmt:formatNumber value="${0.00}" /></b></h3>
</td>
</tr>
</table>
<table>
<tr>
<td>
<input type="button" name="concluir" value="Finalizar Venda" onclick="finalizarVenda()">
</td>
<td>
<a href=Controller.fwk?_action=menu\menu.jsp><input type=submit value=Menu></a>
</td>
<tr>
<td>
<h3><b>Usuário Logado:</b>
<font color="blue"><b><c:out value="${usuarioDTO.nome}"/></b></font></h3>
</td>
</tr>
</tr>
</table>
</body>
</html>
<script>
$('_idCliente').value='';
$('_idProduto').value='';
$('_idCliente').focus(); // posiciona curso no cliente ao carregar a página
//---------------------------------------------------------
function localizaCliente(){
parametros = {idCliente: $('_idCliente').value };
callAjax("ajax.PDV", "getClienteRazaoSocial", "clienteRazaoSocial", parametros);
}
function clienteRazaoSocialSuccess( dados ) {
eval( dados );
$('razaoSocial').innerHTML= retorno;
}
function clienteRazaoSocialFailure( dados ){
alert('Erro : anoFailure() !!!!');
}
//---------------------------------------------------------
function localizaProduto(){
if( $('_idProduto').value!=''){
parametros = {idProduto: $('_idProduto').value, quantidade : $('_quantidade').value }; // passar para o ajax 2 valores
callAjax("ajax.PDV", "getProdutoDTO", "produtoDTO", parametros);
$('_quantidade').value='1';
$('_idProduto').value='';
$('_idProduto').focus();
}
}
function produtoDTOSuccess( dados ) {
eval( dados);
$('_produtoDescricao').innerHTML = retorno;
$('_listaProdutos').innerHTML =
"<iframe style='width:100%;height:200px' src='Controller.fwk?_action=cadastro/venda/listaProdutos.jsp?a="+Math.random()*1000+"'></iframe>"
$('_idProduto').focus();
}
function produtoDTOFailure( dados ){
alert('Erro : anoFailure() !!!!');
}
//---------------------------------------------------------
//---------------------------------------------------------
function finalizarVenda(){
callAjax("ajax.PDV", "finalizarVenda", "finalizarVenda", {});
}
function finalizarVendaSuccess( dados ){
alert("Venda Finalizada com Sucesso !!!");
window.location.href='Controller.fwk?_action=cadastro.venda.Inicializacao';
}
function finalizarVendaFailure( dados ){
alert("Erro ao finalizar a venda");
}
//
//---------------------------------------------------------
</script>
notem que o Campo Valor é onde o caixa coloca o valor recebido...tenho que subtrair com o totalGeral que esta em outra pagina...e trazer o resultado no campo Troco
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<script src="include/scripts/prototype.js"></script>
<script src="include/scripts/jsLib.js"></script>
<table border="1">
<th width="200">
Produto
</th>
<th width="150">
Preço Unitário
</th>
<th width="100">
Quantidade
</th>
<th width="100">
Excluir
</th>
</table>
<table>
<c:forEach items="${vendaPDV.listaProdutos}" var="produtoDTO">
<tr>
<td width="200">
<c:out value="${produtoDTO.descricao}"/>
</td>
<td width="100" align="right">
<fmt:formatNumber value="${produtoDTO.precoUnitario}" pattern="0.00" />
</td>
<td width="100" align="right">
<fmt:formatNumber value="${produtoDTO.quantidadeDisponivel}" pattern="0.00" />
</td>
<td width="100" align="right">
<a href="javascript:void" onclick='excluirProduto(<c:out value="${produtoDTO.codigo}"/>)'>Excluir</a></f>
</td>
</tr>
</c:forEach>
<tr>
<td>
<b><h3>Total Geral:</h3></b>
</td>
<td>
<b><fmt:formatNumber value="${vendaPDV.totalGeral}" pattern="0.00" /></b>
</td>
</tr>
</table>
<script>
function excluirProduto(_idProduto) {
parametros = {idProduto: _idProduto };
callAjax("ajax.PDV", "excluirProduto", "excluirProduto", parametros);
}
function excluirProdutoSuccess(){
document.location.reload(true);
}
function excluirProdutoFailure(){
document.location.reload(true);
}
</script>
valeu galera