Hola amigos, qué tal?
Llevo unos días intentando ésto sin ningún éxito, tal vez me podáis dirigir un poco en el camino correcto:
En una página ASP, un RecordSet va dibujando una tabla con los datos que ha cogido de una base de datos.
Las 2 últimas columnas de cada fila son un formulario que tiene un campo de texto y un campo de texto de sólo lectura.
La idea es que el campo de sólo lectura se actualice con un valor, dependiendo de lo que se introduzca en el campo de texto.
Ésto se hace llamando a una función javascript.
Y los parámetros que recibe esta función son variables ASP, valores del RecordSet.
El código del formulario es éste:
<form name="<%= pnumprod %>" id="<%= pnumprod %>" action="nowhere.htm" method="post" enctype="text/plain">
(en cada fila, pnumprod es distinto, así espero conseguir que cada formulario tenga un nombre único)
<td>
<input name="cantidad" id="cantidad" size="4" onkeypress="return acceptNum(event)" onchange="actualizar(this,<%= punidadesventa %>,<%= pprecio %>);" />
</td>
<td>
<input name="total" id="total" size="10" readonly />
</td>
</form>
Y la función es ésta:
function actualizar(f, unidadesVenta, precioVenta) {
var form = f.name;
vtemp= parseInt(form.cantidad.value);
if (vtemp < 0) {
vtemp = 0;
}
if(!isNaN(vtemp)) {
form.cantidad.value = menorMultiplo(unidadesVenta, vtemp);
form.total.value = r2(form.cantidad.value * precioVenta);
} else {
form.cantidad.value = 0;
form.total.value = 0;
}
}
Esta función a su vez llama a un par más, pero creo que el problema ya empieza aquí, porque siempre me devuelve este mensaje:
'form.cantidad.value' es nulo o no es un objeto.
Se os ocurre algo que esté haciendo mal?
Muchísimas gracias por adelantado!