Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [js] dynamiczne przydzielanie 'punktów'
DeyV
post
Post #1





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




Otrzymałem zadanie by przygotowac prosty formularz pozwalajacy na rozdysponowanie określonej liczby 'punktów' na ileś grup.
I zupełnie nie mam pomysłu jak to zrobić.

Dlatego chętnie wysłucham wszelkich propozycji, jak widzielibyście taki mechanizm:
mam np. 20 punktów oraz np. 3 dostępne grupy, do któych punkty muszą trafić.
Oznacza to, że może być tak, że user 'wrzuci' wszystkie 20 do 1 grupy, może być tak że da 10 do 1 grupy, 5 do 2 grupy itd.
Założenie jest takie, że:
a) nie może przydzielić wiecej niż x (tu 20) punktów
(IMG:http://forum.php.pl/style_emoticons/default/cool.gif) musi przydzielić wyszstkie (domyślnie są w grupie 1)
c) jeśli włożył coś do 2 grupy, to muszą one w jakiś sposób opuścić 1.

Na jakiej zasadzie proponowalibyście zrobić taki mechanizm?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
marlowe
post
Post #2





Grupa: Zarejestrowani
Postów: 178
Pomógł: 0
Dołączył: 2.11.2003
Skąd: Kraków

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


Witam,
hehe zainspirowałeś mnie tym tematem i postanowiłem wreszcie napisać sam jakiś skrypt w js (zawsze tylko zmieniałem gotowe). Siedzialem nad tym 55 minut (naprawdę! :D ale w końcu mi się udało. Z dumą ;) prezentuję więc skrypt, który spełnia ww. zadanie ale pewnie i tak będzie dla Ciebie nieprzydatny...
w head:
Kod
<script language="JavaScript"><!--

function czycalkowita() {

calkowita=/^d+$/;

if



((calkowita.test(document.dwadziescia.liczba1.value)==false)||(calkowita.test(document.dwadziescia.liczba2.value)==false)||(calkowita.test(document.dwadziescia.liczba3.value)==false))

{

  alert("Wprowadź liczbę całkowitą.");

}

else

{

  czydobrze();

}

}

function czydobrze() {

var suma=document.dwadziescia.liczba1.value+'+'+document.dwadziescia.liczba2.value+'+'+document.dwadziescia.liczba3.value

var rezultat=eval(suma)

if(rezultat==20) {

alert("Wszystko OK. Suma jest równa 20"); }

else if(rezultat<20) {

alert("Za mało. Musisz podać większą wartość dla którejś z grup"); }

else {

alert("Za dużo Musisz podać mniejszą wartość dla którejś z grup"); }

}

//--></script>

w body:
[xml:1:6d358775e8]Sprawdzanie, czy suma liczb podanych w trzech polach jest równa 20<p>
<form name="dwadziescia">
Grupa 1: <input type="text" name="liczba1" value="20"/><br/>
Grupa 2: <input type="text" name="liczba2" value="0"/><br/>
Grupa 3: <input type="text" name="liczba3" value="0"/><br/>
<input type="submit" name="ok" onclick="czycalkowita()"/>
<input type="reset" name="czysc"/>
</form>
</div>[/xml:1:6d358775e8]
Działający skrypt jest Tutaj.
Bardzo możliwe, że są tu błędy- wszelkie uwagi mile widziane.
Tak czy siak- fajny ten JavaScript, może się go wreszcie nauczę :D
A co do innych możliwości rozwiązania problemu to zgadzam się z przedstawionym sposobem- sam zacząłem pisać coś takiego ale niestety tu już moze możliwości nie wystarczyły ;)
Pozdrawiam
Bartek
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 8.10.2025 - 04:28