JavaScript - Abrir un documento dependiendo de las respuestas

   
Vista:

Abrir un documento dependiendo de las respuestas

Publicado por Eud (8 intervenciones) el 18/01/2016 09:13:34
Hola Buenos días,

Como puedo hacer para que me abra una pagina cuando las respuestas afirmativas sean 7 o mas y si no menos de 7 abra otra. Hora tengo el código que me cuanta las respuestas afirmativas y negativas.

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
44
45
46
47
48
49
50
51
52
53
<form id="form1" name="form1" method="post" action="#">
 
<p>1. ¿Cree usted que la economía a mejorado en el país?</p>
<p>
<input type="radio" name="radio1" value="1">Si
<input type="radio" name="radio1" value="0">No
</p>
 
<p>2.¿Posee auto?</p>
<p>
<input type="radio" name="radio2" value="1">Si
<input type="radio" name="radio2" value="0">No
</p>
 
<p>3.¿Se considera buena gente?</p>
<p>
<input type="radio" name="tres" value="1">Si
<input type="radio" name="tres" value="0">No
</p>
 
<input type="button" name="" value="Ver Resultado" onclick="cuenta();">
 
<script type="text/javascript">
//<![CDATA[
 
function cuenta() {
var s = 0; var n= 0;
var tags_inp = new Array();
var tags_inp=document.getElementsByTagName('input');
var i;
for (i=0; i<tags_inp.length; i++) {
// suma i
if (tags_inp[i].type=='radio'){
 
if(tags_inp[i].checked == true){
if (tags_inp[i].value == '0'){
n++;
}
if (tags_inp[i].value == '1'){
s++;
}
}
 
}
}
 
alert('Afirmativos: ' + s + ' Negativos: ' +n);
 
}
 
 
//]]>
</script>
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

Abrir un documento dependiendo de las respuestas

Publicado por xve (1594 intervenciones) el 18/01/2016 09:40:54
Hola Eud, puedes hacerlo con window.location... algo así:

1
2
3
4
5
6
if(s>7)
{
    window.location="pagina1.html";
}else{
    window.location="pagina2.html";
}

Esto te valdria?
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

Abrir un documento dependiendo de las respuestas

Publicado por edu (8 intervenciones) el 18/01/2016 09:57:15
creo que me ira perfecto muchas gracias, saludoss
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

Abrir un documento dependiendo de las respuestas

Publicado por edu (8 intervenciones) el 18/01/2016 10:56:54
Hola Buenos dís,

Cuando marco las 7 respuestas o mas en SI, aun no consigo que me abra el pagina1.html no se que tengo mal?


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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<form id="form1" name="form1" method="post" action="#">
 
<p>1. ¿Me siento con la misma energía de antes?</p>
<p>
<input type="radio" name="radio1" value="1">Si
<input type="radio" name="radio1" value="0">No
</p>
 
<p>2. ¿Mantengo mis actividades e intereses habituales?</p>
<p>
<input type="radio" name="radio2" value="1">Si
<input type="radio" name="radio2" value="0">No
</p>
 
<p>3. ¿Me siento molesto y ansioso?</p>
<p>
<input type="radio" name="radio3" value="1">Si
<input type="radio" name="radio3" value="0">No
</p>
 
<p>4. ¿Puedo realizar mi trabajo de manera habitual?</p>
<p>
<input type="radio" name="radio4" vaule="1">Si
<input type="radio" name="radio4" vaule="0">No
</p>
 
<p>5. ¿A menudo siento ganas de llorar?</p>
<p>
<input type="radio" name="radio5" vaule="1">Si
<input type="radio" name="radio5" vaule="0">No
</p>
 
<p>6. ¿Tengo problemas para conciliar el sueño o me despierto con frecuencia?</p>
<p>
<input type="radio" name="radio6" vaule="1">Si
<input type="radio" name="radio6" vaule="0">No
</p>
 
<p>7. ¿Pienso miserable y siento vergüenza de mí mismo?</p>
<p>
<input type="radio" name="radio7" vaule="1">Si
<input type="radio" name="radio7" vaule="0">No
</p>
 
<p>8. ¿Me siento tan activo como siempre?</>
<p>
<input type="radio" name="radio8" vaule="1">Si
<input type="radio" name="radio8" vaule="0">No
</p>
 
<input type="button" name="" value="Ver Resultado" onclick="cuenta();">
 
<script type="text/javascript">
//<![CDATA[
 
function cuenta() {
var s = 0; var n= 0;
var tags_inp = new Array();
var tags_inp=document.getElementsByTagName('input');
var i;
for (i=0; i<tags_inp.length; i++) {
// suma i
if (tags_inp[i].type=='radio'){
 
if(tags_inp[i].checked == true){
if (tags_inp[i].value == '0'){
n++;
}
if (tags_inp[i].value == '1'){
s++;
}
}
 
}
}
 
if(s>7)
{
    window.location="pagina1.html";
}else{
    window.location="pagina2.html";
}
 
}
 
//]]>
</script>
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

Abrir un documento dependiendo de las respuestas

Publicado por arck (74 intervenciones) el 18/01/2016 11:33:08
Tienes varias soluciones.

Usa el depurador de JavaScript, es un poco complicado pero te soluciona muchas cosas.

Fijate sobre que datos iteras es sobre el 0 1 2 3 4, pero los que tienen los valores son radio1, radio2, radio3, ....
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

Abrir un documento dependiendo de las respuestas

Publicado por Edu (8 intervenciones) el 18/01/2016 11:59:19
Perdona no comprendo tu respuesta. Pero 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

Abrir un documento dependiendo de las respuestas

Publicado por arck (74 intervenciones) el 18/01/2016 12:20:17
pon esto antes del for de la funcion java y lo entenderas

console.log(tags_inp);

console.log(tags_inp.radio1.value);

En el primer caso te enseña el array que creaste en el segundo te enseña el valor de radio 1 y tu accedes a tags_inp[i].value no a radio 1
No se si me explico.
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

Abrir un documento dependiendo de las respuestas

Publicado por arck (74 intervenciones) el 18/01/2016 13:00:43
Si te fijas el objeto que te llega es una array de 17 posiciones una por radio1 valor 0 otra por radio1 valor 1 .......... y otros datos que son radio1 radio2 radio3 que no entran dentro de las 17 posiciones del array y solo puedes acceder con tags_inp.radio1.value.


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
function cuenta() {
    var s = 0; var n= 0;
    var tags_inp = new Array();
    var tags_inp = document.getElementsByTagName('input');
    var i;
    for (i=0; i<tags_inp.length; i = i+2) {
        // suma i
        if(tags_inp[i].type=='radio'){
 
            if(tags_inp[i].checked == true){
               s++;
            }else{
               n++;
            }
 
        }
    }
 
    if(s>7)
    {
        window.location="pagina1.html";
    }else{
        window.location="pagina2.html";
    }
 
}

Es muyyyyyy cutre pero creo que funciona, de esta forma puedes generar el formulario todo lo grande que quieras, pero, siguiendo esa estructura.

Espero que te sirva.
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
Imágen de perfil de Vainas

Abrir un documento dependiendo de las respuestas

Publicado por Vainas (239 intervenciones) el 18/01/2016 14:34:54
Buenas:

Vamos por partes:

1. Si ponemos "vaule" en vez de "value" pues no va a funcionar bien.
2. En js no es necesario inicializar variables como lo haces:

var tags_inp = new Array();

A mi esto me funciona asi:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function cuenta() {
var s = 0; var n= 0;
var tags_inp=document.getElementsByTagName('input');
for ( var i=0; i<tags_inp.length; i++) {
if (tags_inp[i].type =='radio' && tags_inp[i].checked){
	if (tags_inp[i].value == '0'){
		n++;
	}else{
		s++;
	}
}
}
if(s>7){
    //window.location="pagina1.html";
    alert("pagina1.html");
}else{
	//window.location="pagina2.html";
  	alert("pagina2.html");
}
}

Saludos.
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

Abrir un documento dependiendo de las respuestas

Publicado por Edu (8 intervenciones) el 19/01/2016 00:18:19
Hola Buenas noches,

Muchas gracias a todos, ahora todo me funciona bien, gracias por la ayuda.

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