Buenos dias.
Tengo un problema, tengo un scrip de suma, el cual desde una lista desplegable se elije una cantidad y esta cantidad multiplica el valor d eun producto.
El problema es que este scrip funciona en html lo mas bien, pero cuando lo transcrivo a un jsp que funcioan con un form y servlet, el escrip no suma.
Que me esta faltando para que funcione?
Esto lo aplico en una pagina dinamica en donde se cargan datos de una bd, y para cada articulo se genera una entrada nueva.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>compras</title>
<script language="javascript" type="text/javascript">
function calculo(cantidad,precio,inputtext,totaltext){
/* Parametros:
cantidad - entero con la cantidad
precio - entero con el precio
inputtotal - nombre del elemento del formulario donde ira el total
*/
// Calculo del subtotal
subtotal = precio*cantidad;
inputtext.value=subtotal;
//Actualizar el total
// Utilizamos el eval. Ya que el valor es un texto y si lo tratamos como tal
// es como si estuviesemos manipulando una cadena.
total = eval(totaltext.value);
totaltext.value = total + subtotal;
}
</script>
<style type="text/css">
body {
background-color: #FFFFFF;
}
.izquierdo {
text-align: left;
}
#total{color:white}
.style5 {font-family: Verdana, Arial, Helvetica, sans-serif; font-weight: bold; font-size: 14px; }
</style>
</head>
<body>
<form name="nombreForm" id="form" method="post" action="test">
<table width="635" height="51" border="1" cellpadding="0" cellspacing="0" align="center" bordercolor="#0000FF">
<tr>
<td bgcolor="#00FF66" class="style5">Imagen</td>
<td bgcolor="#00FF66"><span class="style5">Producto</span></td>
<td bgcolor="#00FF66"><span class="style5">Precio</span></td>
<td bgcolor="#00FF66"><span class="style5">Comprar</span></td>
<td bgcolor="#00FF66"><span class="style5">Cantidad</span></td>
<td> Total</td>
</tr>
<% if(!(session.getAttribute("listaProductos")== null)) {
List<Persona> personas = (List<Persona>)session.getAttribute("listaProducto s");
for(int i=0; i < personas.size(); i++){
Persona cliente = personas.get(i);
%>
<tr>
<td ><img src="img/<%=cliente.getId() %>.jpg" alt="" /> </td>
<td ><%=cliente.getNombre()%> </td>
<td > <%=cliente.getPrecio()%> </td>
<td width="45" ><input type="checkbox" name="producto" value = "<%=cliente.getNombre()%>" /></td>
<td width="59"><select name="<%=cliente.getNombre()%>" id="select" onChange="calculo(this.value,<%=cliente.getId()%>. value,<%=cliente.getNombre()%>,total);" onkeyup= "calcTotal()" >
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
</td>
<td>
<input type="hidden" id="<%=cliente.getId()%>" value="<%=cliente.getPrecio()%>"/>
<input type="text" size="8" id="<%=cliente.getNombre()%>" value="0"/>
</td>
</tr>
<% }
}%>
</table>
<div align="center">
<label ></label>
<input type="submit" value="Compra" />
</div>
</form>
<p></p>
<div align="center">
<label >${cartel}</label>
</div>
</body>
</html>