Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Określona ilość zaznczonych checkboxów, oraz blokowanie innych :)
Fallout
post
Post #1





Grupa: Zarejestrowani
Postów: 154
Pomógł: 0
Dołączył: 17.12.2003
Skąd: Olsztyn

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


Witam,

Szukałem, ale nawet ciężko sprecyzować do wyszukania co chce:)

Chodzi o to, że:

1. Pobieram z bazy jakieś dane, i dla każdego wiersza jest checkbox
2. JS ma mi pomóc w tym, że po zaznaczeniu np. dwóch, reszta chceckbów staje sie nieaktywna do momentu, gdy jeden z tych dwóch zaznaczonych nie zostanie odznaczony

ogółem mówiąc ma to zapobiec zaznaczeniu więcej niż 2 checkboxów z kilkunastu dostępnych, oraz ochronić użyszkodnika przed pomyłką (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Niestety JS nie miałem nigdy czasu postudiować, a zależy mi na czasie, poszukiwania zawiodły więc ktoś może znajdzie chwilkę na napisanie, wydaje mi się niezbyt wymagającego skryptu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Z góry dziękuje!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
TomASS
post
Post #2





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

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


Specjalnie dla Ciebie:
  1. </head>
  2. function sprawdz_ile_zaznaczonych(){
  3. var ile = 0;
  4. for(var i=0; i<document.formularz.length; i++){
  5. if((document.forms.formularz.elements[i].type)=="checkbox"){
  6. if(document.forms.formularz.elements[i].checked) ile++;
  7. }
  8. }
  9. return ile;
  10. }
  11.  
  12. function deaktywacja(){
  13. if(sprawdz_ile_zaznaczonych()>=2){
  14. for(var i=0; i<document.formularz.length; i++){
  15. if((document.forms.formularz.elements[i].type)=="checkbox"){
  16. if(!document.forms.formularz.elements[i].checked)
  17. document.forms.formularz.elements[i].disabled=true;
  18. }
  19. }
  20. }
  21. else{
  22. for(var i=0; i<document.formularz.length; i++){
  23. if((document.forms.formularz.elements[i].type)=="checkbox")
  24. document.forms.formularz.elements[i].disabled=false;
  25. }
  26. }
  27. }
  28.  
  29. <form name="formularz">
  30. <input type="checkbox" name="ch1" id="ch1" onclick="deaktywacja();">
  31. <input type="checkbox" name="ch2" id="ch2" onclick="deaktywacja();">
  32. <input type="checkbox" name="ch3" id="ch3" onclick="deaktywacja();">
  33. <input type="checkbox" name="ch4" id="ch4" onclick="deaktywacja();">
  34. <input type="checkbox" name="ch5" id="ch5" onclick="deaktywacja();">
  35. <input type="checkbox" name="ch6" id="ch6" onclick="deaktywacja();">
  36. <input type="checkbox" name="ch7" id="ch7" onclick="deaktywacja();">
  37. <input type="checkbox" name="ch8" id="ch8" onclick="deaktywacja();">
  38. <input type="checkbox" name="ch9" id="ch9" onclick="deaktywacja();">
  39. <input type="checkbox" name="ch10" id="ch10" onclick="deaktywacja();">
  40. <input type="checkbox" name="ch11" id="ch11" onclick="deaktywacja();">
  41. <input type="checkbox" name="ch12" id="ch12" onclick="deaktywacja();">
  42.  
  43. </form>
  44. </body>
  45. </html>


Dodałem także aktywowanie spowrotem w przypadku, gdy były wciśnięte dwa checkobxy i użytkownik "odchaczył" jednego.
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: 14.10.2025 - 08:51