Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] - problem z sumowaniem i warunkiem do przekierowania strony
Forum PHP.pl > Forum > Przedszkole
shreq
Mam problem, gdyz zrobilem ankiete z punktami i ten skrypt nie działa. Powninien zliczyc punkty i warunkiem punktacji przekierowac do innej strony z wynikami i komentarzami. Bardzo prosze o pomoc gdzie moze byc błąd?
Help me!


CODE
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
</head>
<body>

<form name="ankieta" action="" method="get" id="abc"></br>

1. Jak często jesz słodycze?<br />
<input type="radio" name="question1" value="0" id='a' checked="checked" />nigdy<br /><input type="radio" name="question1" value="1" id='a' />raz w miesiącu lub rzadziej<br /><input type="radio" name="question1" value="2" id='a' />2 do 4 razy w miesiącu<br /><input type="radio" name="question1" value="3" id='a' />2 do 3 razy w tygodniu<br /><input type="radio" name="question1" value="4" id='a' />4 razy w tygodniu lub częściej </td>
</tr>
<tr>
<td><br>
2. Jak często pijesz alkohol?<br />
<input type="radio" name="question2" value="0" id='b' checked="checked" />1-2 porcje<br /><input type="radio" name="question2" value="1" id='b' />3-4 porcje<br /><input type="radio" name="question2" value="2" id='b' />5-6 porcji<br /><input type="radio" name="question2" value="3" id='b' />7,8 lub 9 porcji<br /><input type="radio" name="question2" value="4"id='b' />10 lub więcej </td>
</tr>
<tr>
<td><br>
3. Jak często pod wpływem alkoholu<br />
<input type="radio" name="question3" value="0" id='c' checked="checked" />nigdy<br /><input type="radio" name="question3" value="1" id='c' />rzadziej niż raz w miesiącu<br /><input type="radio" name="question3" value="2" id='c' />raz w miesiącu<br /><input type="radio" name="question3" value="3" id='c' />raz w tygodniu<br /><input type="radio" name="question3" value="4" id='c' />codziennie lub prawie codziennie </td>
</tr>
<tr>
<td><br>
4. Jak często pod wpływem alkoholu prowadziłeś samochód <br />
<input type="radio" name="question4" value="0" id='d' checked="checked" />nigdy<br /><input type="radio" name="question4" value="1" id='d' />rzadziej niż raz w miesiącu<br /><input type="radio" name="question4" value="2" id='d' />raz w miesiącu<br /><input type="radio" name="question4" value="3" id='d' />raz w tygodniu<br /><input type="radio" name="question4" value="4" id='d' />codziennie lub prawie codziennie </td>
</tr>
<tr>
<td><br>
5. Jak często brałeś udział w imprezach<br />
<input type="radio" name="question5" value="0" id='e' checked="checked" />nigdy<br /><input type="radio" name="question5" value="1" id='e' />rzadziej niż raz w miesiącu<br /><input type="radio" name="question5" value="2" id='e' />raz w miesiącu<br /><input type="radio" name="question5" value="3" id='e' />raz w tygodniu<br /><input type="radio" name="question5" value="4" id='e' />codziennie lub prawie codziennie </td>
</tr>

<b><input type="submit" value="SPRAWDZ WYNIK" id='ale' name="wyslij"></b>

<script type="text/javascript">

var tab1 = document.getElementsByName('question1');
var tab2 = document.getElementsByName('question2');
var tab3 = document.getElementsByName('question3');
var tab4 = document.getElementsByName('question4');
var tab5 = document.getElementsByName('question5');

var link = "http://mozilla.org";
var link2 = "http://nokia.com";
var link3 = "http://opera.com";
var link3 = "http://microsoft.com";

function suma () {
var pole1;
var pole2;
var pole3;
var pole4;
var pole5;


for(var i=0;i<tab1.length;i++) {
if(tab1[i].checked) pole1 = tab1[i].value;
}

for(var i=0;i<tab2.length;i++) {
if(tab2[i].checked) pole2 = tab2[i].value;
}

for(var i=0;i<tab3.length;i++) {
if(tab3[i].checked) pole3 = tab3[i].value;
}

for(var i=0;i<tab4.length;i++) {
if(tab4[i].checked) pole4 = tab4[i].value;
}

for(var i=0;i<tab5.length;i++) {
if(tab5[i].checked) pole5 = tab5[i].value;
}

var wynik = parseInt(pole1)+parseInt(pole2)+parseInt(pole3)+parseInt(pole4)+parseInt(pole5);

if(wynik<=8) {
window.location="http://www.orange.pl";
}

if(wynik >= 8 && wynik <= 15) {
window.location="http://www.onet.pl";
return true;
}

if(wynik >= 16 && wynik <= 19){
window.location="http://www.wp.pl";
return true;
}

if(wynik > 20){
window.location="http://www.interia.pl";
return true;
}


document.getElementById("ale").onsubmit=suma();
}
</script>
</body>
</html>
aniolekx
zmien submit na button i usuń ta linijkę z onsubmit
  1. <input type="button" value="SPRAWDZ WYNIK" id='ale' name="wyslij" onclick="suma()">


formularz nie będzie wysyłany, bo nie ma takiej potrzeby, a po nacisnieciu przycisku funkcja zostanie wywołana.
Ten onsubmit masz aktualnie wewnątrz tej funkcji wiec funkcja nigdy nie zostaje wywołana, pomijając już fakt ze jest to źle napisane
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.