PHP - Función campo solo numérico

 
Vista:

Función campo solo numérico

Publicado por carla (3 intervenciones) el 11/02/2014 10:34:57
Hola a todos,
estoy haciendo un formulario en la web para el pedido de unos productos. En el campo de las unidades tengo que poner que sea sólo campo numérico,, y he utilizado el siguiente script:

1
2
3
4
5
6
7
8
function justNumbers(e)
{
var keynum = window.event ? window.event.keyCode : e.which;
if ((keynum == 8) || (keynum == 46))
return true;
 
return /\d/.test(String.fromCharCode(keynum));
}

el cual funciona correctamente.
El problema es que en esa misma celda tengo que establecer que se multiplique esa unidad introducida (número de unidades que queremos comprar) al precio unitario, y que aparezca esa cifra en otra celda con el precio total.
Lo que he hecho es, en el scrip de php, intento poner las dos funciones:
1. que despues de introducir un número
2. lo multiplique por el precio:

1
2
3
4
5
6
7
8
9
function justNumbers(e, field)
{
var keynum = window.event ? window.event.keyCode : e.which;
if ((keynum == 8) || (keynum == 46)) {
	calculo(field.value,precio20090.value,total20090,total);
	return true;
}
return /\d/.test(String.fromCharCode(keynum));
}

siendo la función de cálculo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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;
}

¿Con esta info podríais decirme qué está mal? No consigo verlo.
Muchas gracias!!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Función campo solo numérico

Publicado por Jose Manuel (43 intervenciones) el 12/02/2014 12:42:14
Hola:

Sin ver más código, es difícil decir, pero:

- En lugar de eval, utiliza parseInt para convertir una cadena a un entero.

- ¿Has probado que la función calculo recibe bien los datos? Si no es así, yo comenzaría por ver línea por línea que está recibiendo todo.

Para poder ayudarte más creo que se necesita una visión más de conjunto, para poder probarlo. Coméntanos.

Un saludo,

José Manuel
==========================
http://www.orbisapientia.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Función campo solo numérico

Publicado por carla (3 intervenciones) el 13/02/2014 16:12:53
Es verdad Jose Manuel, faltaba información. Como no control mucho del tema, no sé qué info es relevante para mostrar o no.
De todas formas, ya funciona todo!
Gracias de todas formas!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar