![]() |
![]() ![]() |
![]() |
-czarekwenta- |
![]() ![]()
Post
#1
|
Goście ![]() |
Napisałem skrypcik który na podstawie najczęściej wybieranych odpowiedzi po zadaniu 3 pytań przekierowuje do odpowiedniej strony.
![]() Wszystko działa prawie tak jak chciałem, jednak jestem dopiero początkujący i pojawiło się kilka drobnych problemów z którymi nie mogę sobie poradzić. ONLINE:Link Problem polega na tym że w przypadku gdy są zaznaczone 3 różne odpowiedzi nie wiadomo do której strony ma prowadzić (takich kombinacji jest 9). Moim rozwiązaniem tego problemu jest dopisanie linijek, które w przypadku zaznaczenia 2 różnych odpowiedzi w 2 pierwszych pytaniach wyłączają input ( nadają mu disabled="disabled") w 3 pytaniu który byłby 3 różną odpowiedzią i dają możliwość wyboru tylko 2 pozostałych które spełniają funkcję programu. Fajnie by było, gdyby jeszcze te pytania wyświetlały się kolejno po sobie, a nie wszystkie naraz i by w każdym z nich skrypt wymagał zaznaczenia pola i dopiero potem pozwolił przejść dalej. Przerasta to moje umiejętności a pracę pilnie potrzebuję do szkoły. Jeżeli nie znalazłby się nikt o dobrym sercu kto były w stanie to napisać za darmo jestem w stanie zapłacić, ponieważ to bardzo PILNE ![]() OTO MÓJ KOD
Ten post edytował czarekwenta 7.01.2015, 19:57:59 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 767 Pomógł: 1824 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Dlaczego jest założenie, że nie można dać różnych odpowiedzi na każde z trzech pytań?
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 767 Pomógł: 1824 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Nie jestem w stanie, bo jest to błąd logiczny - nie odpowiedziałeś zresztą dlaczego jest takie założenie.
Przy drugim pytaniu jest ten sam problem. Przy takim założeniu funkcjonowania quizu nie warto zadawać więcej niż jedno pytanie. Gdybyś zmienił założenie, to powinieneś mieć przygotowanych dziewięć podstron (111.html, 112.html, ....... 333.html). -------------------- |
|
|
-czarekwenta- |
![]()
Post
#4
|
Goście ![]() |
Założenie takie jest dlatego, że ma to być quiz który zada pytania określające kierunek studiów jaki powinno się wybrać i oceniając których odpowiedzi jest więcej (związanych z którym kierunkiem) wybiera go, następnie przekierowuje do podstrony z informacjami o danym kierunku.
NP: Jeżeli zaznaczyłeś 2 lub 3 odpowiedzi przypisane do kierunku informatyk - przekierowuje do 1.html NP: Jeżeli zaznaczyłeś 2 lub 3 odpowiedzi przypisane do kierunku robotyk - przekierowuje do 2.html NP: Jeżeli zaznaczyłeś 2 lub 3 odpowiedzi przypisane do kierunku biomedyk - przekierowuje do 3.html W przypadku gdy we wszystkich 3 pytaniach są wybrane 3 odpowiedzi przypisane do różnych kierunków powstaje błąd logiczny który nie pozwala wybrać kierunku właściwego dlatego by to wykluczyć po wybraniu w 2 pierwszych pytaniach różnych odpowiedzi (dot. różnych kierunków) w 3 pytaniu chce wyłączyć(disable=disable) odpowiedź przypisaną do tego 3 różnego kierunku. I najlepiej by było gdyby te pytania pojawiały się po sobie dopiero po odpowiedzeniu na 1 pojawia się drugie pytanie. A po odpowiedzeniu na 2 pojawia się 3 które w przypadku dwóch różnych wybranych odpowiedzi w 2 pierwszych pytaniach nadaje trzeciej różnej odpowiedzi w inpucie (disabled="disabled"). Ten post edytował czarekwenta 7.01.2015, 20:24:45 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 767 Pomógł: 1824 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Kod var cone=document.getElementsByName('one'); var ctwo=document.getElementsByName('two'); var cthree=document.getElementsByName('three'); for(var i=0;i<cone.length;i++){ cone[i].addEventListener('click',function(){ for(var j=0;j<cthree.length;j++){ cthree[j].disabled=true; if(this.value==cthree[j].value) // ten warunek jest niepoprawny, ponieważ opiera się na założeniu, że wybrana odpowiedź w pierwszym pytaniu ma taką samą wartość jak odpowiedź w trzecim pytaniu, tu musisz pokombinować cthree[j].disabled=false; } }); } //analogicznie dla ctwo P.S. Na wstępie wszystkie radio w html, dotyczące trzeciego pytania mają mieć atrybut disabled. -------------------- |
|
|
-czarekwenta- |
![]()
Post
#6
|
Goście ![]() |
Nie wiem jak by to miało wyglądać żeby pytania wyświetlały się po sobie i troszkę jestem w kropce if(this.value==cthree[j].value) :/
Jesteś w stanie pomóc trochę bardziej? Przepraszam ale naprawdę ciężko mi to przychodzi, na moim poziomie wiedzy. |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 3 033 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
chcesz to zrobić tylko w samym javascript?
stwórz dla każdego z pytań oddzielny formularz, następnie dodaj mu id i wszystkie poza 1 ukryj, jeśli użytkownik odpowie i wyśle odpowiedzi to zapisz sobie je np w localstorage i wlacz 2 formularz a 1 ukryj itd ![]() Ten post edytował com 8.01.2015, 00:45:34 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.06.2024 - 04:21 |