JavaScript - valores numericos

 
Vista:

valores numericos

Publicado por ferdinand burgos (2 intervenciones) el 11/12/2015 14:54:43
Buenas tardes soy nuevo en javascript quisiera q en este codigo poder agregar un alerta para cuando los usuarios ingresen un valor q no sea numerico. Agradezco sus respuestas

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
jQuery(function($){
$('.cart').click(function(){
 
// Test to see if the price exceeds the minimum price (ie the Suggested Price):
 
if($('#minimum_price').length && parseFloat($('#minimum_price').val()) >= parseFloat($('input.name_price').val()))
{
alert('Please offer a price higher than the Minimum Price.');
return false;
}
// See if the price input is zero (because we want people to be able to choose a free option: NEEDS LOGIC FOR SET MINIMUM
 
else if(parseFloat($('input.name_price').val()) == 0)
{
return;
}
 
// Test to see if the input field has been left blank:
 
else if($('.name_price').length && !parseFloat($('input.name_price').val()))
{
alert('Por favor ingrese un valor numerico sin caracteres \n especiales y sin puntos ejemplo 250000');
return false;
}
// Test to see if input field is non-negative:
 
else if(parseFloat($('input.name_price').val()) < 0)
{
alert("Look here, old chap, that's just not on. Please enter a positive number, or zero. Tsk tsk.");
return false;
}
 
});
$('.cart').submit(function(){
 
$('<input name="price" />').val($('input.name_price').val()).attr('type',' hidden').appendTo($('form.cart'));
return;
});
});
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
Imágen de perfil de Jordi
Val: 4
Ha aumentado su posición en 10 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

valores numericos

Publicado por Jordi (76 intervenciones) el 11/12/2015 20:17:09
Buenas Ferdinand,

En javascript tienes una función llamada isNaN(), que devuelve true o false según si lo comprobado es un número o no.

1
2
3
if (isNaN($('#minimum_price').val()) {
          alert("El valor introducido no es numérico");
}


De todas formas, si me permites una consideración, creo que te estás complicando demasiado con tu código, con tantas comprobaciones e ifs. Yo lo haría un poco más sencillo, de la siguiente forma, con solo tres comprobaciones:
1 - Que sea válido
2 - Que sea cero
3 - Que pase el mínimo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
var input = parseFloat($('#minimum_price').val());
var minimum = parseFloat($('#minimum_price').val());
 
// 1 - Comprobar si el valor es un número válido
// Está vacío, no es numérico o es menor que cero
if(!input || input.length == 0 || isNaN(input) || input < 0) {
	// Lógica para input no válido
}
 
// 2 - Comprobar que es cero.
// Debe comprobarse antes que el mínimo, porque si no nunca entrará en input = 0
else if (input == 0) {
	// Lógica para input = 0;
}
 
// 3 - Comprobar que pasa el mínimo
else if(input < minimum) {
	// Lógica para input < mínimo
}
 
else {
	// 4 - Todo está correcto
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar