JavaScript - no me deja hacer nada

   
Vista:

no me deja hacer nada

Publicado por achd (24 intervenciones) el 12/04/2015 17:58:55
Hola, no se por que no me deja hacer nada. En la consola de chroome tampoco me muestra nada.
Gracias por vuestra ayuda. Dejo el código.


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
40
41
42
43
<html>
<head>
<title>encuentra el numero</title>
<script>
function adivinar() {
    var numeroAdivinar=Math.floor((Math.random()*100)+1);
	var i = 1
	document.getElementById("numero").disabled=false;
	var n = parseFloat(document.getElementById('numero').value);
	var res = document.getElementById("resultat");
    var encontrado = false;
		while (i <= 7 && ! encontrado) {
			if (numeroAdivinar == n)
				encontrado = false
			}
			if (o < n) {
				respuestas+="<br>"+numero+" - El numero que buscas es inferior";
			}
			if (o > n) {
				respuestas+="<br>"+numero+" - El numero que buscas es mas grande";
			i == i + 1
			respuestas+="<br>"+numero+" - Dame un numero";
}
        n = parseFloat(document.getElementById('numero').value);
	if (encontrado){
	respuestas+="<br>"+numero+" - encontrado";}
	else{
	respuestas+="<br>"+numero+" - Game Over";}
}
</script>
</head>
<body>
<h3>encuentra el numero:</h3>
<form onsubmit="return adivinar()">
	<br>Indica un numero entre 1 y 100:
    <input type="text" name="numero" id="numero" disabled>
 
	<br><input type="submit" value="Enviar" id="btnEnviar">
</form>
 
<p id="respuestas"></p>
</body>
</html>
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 Vainas

no me deja hacer nada

Publicado por Vainas (239 intervenciones) el 12/04/2015 18:52:38
Buenas:

Sino incrementas i dentro del while se queda en un bucle eteeeerno.

Le he dado unos toques para que funcione, preguntame si no entiendes lo que he tocado.

JS:

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
function adivinar() {
    var numeroAdivinar=Math.floor((Math.random()*100)+1);
    console.log(numeroAdivinar);
    var i = 1;
    document.getElementById("numero").disabled=false;
    var n = parseFloat(document.getElementById('numero').value);
    var respuestas = document.getElementById("respuestas");
    var encontrado = false;
while (i <= 7 && !encontrado) {
    if (numeroAdivinar == n)
        encontrado = true;
i++;
}
if (numeroAdivinar < n) {
respuestas.innerHTML +="<br>"+numero+" - El numero que buscas es inferior";
}
if (numeroAdivinar > n) {
respuestas.innerHTML +="<br>"+numero+" - El numero que buscas es mas grande";
i == i + 1
respuestas.innerHTML +="<br>"+numero+" - Dame un numero";
}
n = parseFloat(document.getElementById('numero').value);
if(encontrado){
respuestas.innerHTML +="<br>"+numero+" - encontrado";}
else{
respuestas.innerHTML +="<br>"+numero+" - Game Over";}
}

HTML: (aqui solo he cambiado la llamada en el form)

1
<form onsubmit="adivinar(); return false;">

Fijate que en el onsubmit primero llamo a la funcion y ya que la funcion en si no retorna false pues lo hago alli mismo. Es mas que nada para que no se refresque la pagina.

Para que lo veas funcionando lo he puesto en este sitio: http://jsfiddle.net/3so0usyc/1/

Espero que te sirva. Saludos.
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