JavaScript - Volver a preguntar un prompt hasta que se cumpla la condición

 
Vista:

Volver a preguntar un prompt hasta que se cumpla la condición

Publicado por Sergio (1 intervención) el 15/01/2018 17:37:13
Hola!!! Estoy creando una aplicación y pido con un mensaje de prompt que introduzca un numero entre 1 y 10, recojo el valor y lo guardo en una variable N.
Si el usuario introduce un número que no está en ese rango, hago saltar un mensaje de Error. ¿Como puedo hacer para cuando el usuario introduzca un número erróneo vuelva a saltar la primera ventana pidiendo otra vez un número del 1 al 10?

Este es el código que llevo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!DOCTYPE html>
<html lang="es">
 
    <head>
        <title>Formulario</title>
        <meta charset="UTF-8"/>
 
		<script type="text/javascript">
 
 
		     var N = prompt("Dime un número del 1 al 10");
 
		    if(N % 1 != 0 || N < 1 || N > 10){
		      alert("[Error]El número no está entre 1 y 10");
 
		    }
		    else{
 
		    }
		</script>
 
	</head>

Gracias de antemano!!
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 xve
Val: 2.190
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Volver a preguntar un prompt hasta que se cumpla la condición

Publicado por xve (2068 intervenciones) el 15/01/2018 18:32:39
Hola Sergio, lo suyo es introducirlo dentro de un bucle... algo así:

1
2
3
4
var N=0;
do {
	N = prompt("Dime un número del 1 al 10");
} while(N<1 || N>=10);
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
sin imagen de perfil

Volver a preguntar un prompt hasta que se cumpla la condición

Publicado por koala (7 intervenciones) el 16/01/2018 22:04:19
1
2
3
4
5
6
7
8
do{
    var N = prompt("Dime un número del 1 al 10");
 
    if(N % 1 != 0 || N < 1 || N > 10){
      alert("[Error]El número no está entre 1 y 10");
 
    }
}while(N<1 || N>=10);

asi seria
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
Revisar política de publicidad