Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript] - problem z sumowaniem i warunkiem do przekierowania strony
shreq
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 1.12.2014

Ostrzeżenie: (0%)
-----


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>
Go to the top of the page
+Quote Post
aniolekx
post
Post #2





Grupa: Zarejestrowani
Postów: 340
Pomógł: 46
Dołączył: 31.07.2009
Skąd: A

Ostrzeżenie: (0%)
-----


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

Ten post edytował aniolekx 4.12.2014, 14:38:36
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 13:21