Foros del Web » Programando para Internet » Javascript »

pasar variable ASP a función javascript

Estas en el tema de pasar variable ASP a función javascript en el foro de Javascript en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 30/07/2007, 03:47
 
Fecha de Ingreso: mayo-2007
Mensajes: 5
Antigüedad: 17 años
Puntos: 0
pasar variable ASP a función javascript

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!
  #2 (permalink)  
Antiguo 30/07/2007, 07:39
 
Fecha de Ingreso: enero-2007
Mensajes: 405
Antigüedad: 17 años, 4 meses
Puntos: 3
Re: pasar variable ASP a función javascript

vtemp= parseInt(form.cantidad.value);

eso esta mal

seria: vtemp = parseInt(f.value);


y despues no puedes llamar:

form.total.value

tendrias que hacer...

total = document.getElementById("total").
total.value;

Saludos
  #3 (permalink)  
Antiguo 30/07/2007, 09:44
 
Fecha de Ingreso: mayo-2007
Mensajes: 5
Antigüedad: 17 años
Puntos: 0
Re: pasar variable ASP a función javascript

hola, qué tal? muchas gracias Wiggly por tu respuesta.
resulta que he localizado el error y era simplemente que:

onchange="actualizar(this,<%= punidadesventa %>,<%= pprecio %>);" />

ese this, si lo dejaba simplemente así, no se refería al formulario sino al propio campo, tiene que ser this.Form.

ahora ya funciona, por fin!

gracias y un saludo,

-micki.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:36.