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%)
-----


to zamiast po nazwie formularza możesz się do niego dostać również za pomocą forms[j] gdzie j to numer formularza. Wystarczy troszkę przerobić skrypt JS:
  1. </head>
  2. function sprawdz_ile_zaznaczonych(){
  3. var ile = 0;
  4.  
  5.  
  6. for(var j=0;j<document.forms.length; j++){
  7. for(var i=0; i<document.forms[j].length; i++){
  8. if((document.forms[j].elements[i].type)=="checkbox"){
  9. if(document.forms[j].elements[i].checked) ile++;
  10. }
  11. }
  12. }
  13. return ile;
  14. }
  15.  
  16. function deaktywacja(){
  17. if(sprawdz_ile_zaznaczonych()>=2){
  18. for(var j=0;j<document.forms.length; j++){
  19. for(var i=0; i<document.forms[j].length; i++){
  20. if((document.forms[j].elements[i].type)=="checkbox"){
  21. if(!document.forms[j].elements[i].checked)
  22. document.forms[j].elements[i].disabled=true;
  23. }
  24. }
  25. }
  26. }
  27. else{
  28. for(var j=0;j<document.forms.length; j++){
  29. for(var i=0; i<document.forms[j].length; i++){
  30. if((document.forms[j].elements[i].type)=="checkbox")
  31. document.forms[j].elements[i].disabled=false;
  32. }
  33. }
  34. }
  35.  
  36. }
  37.  
  38. <form name="formularz">
  39. <input type="checkbox" name="ch1" id="ch1" onclick="deaktywacja();">
  40. <input type="checkbox" name="ch2" id="ch2" onclick="deaktywacja();">
  41. <input type="checkbox" name="ch3" id="ch3" onclick="deaktywacja();">
  42. <input type="checkbox" name="ch4" id="ch4" onclick="deaktywacja();">
  43. <input type="checkbox" name="ch5" id="ch5" onclick="deaktywacja();">
  44. </form>
  45.  
  46. <form name="formularz">
  47. <input type="checkbox" name="ch6" id="ch6" onclick="deaktywacja();">
  48. <input type="checkbox" name="ch7" id="ch7" onclick="deaktywacja();">
  49. <input type="checkbox" name="ch8" id="ch8" onclick="deaktywacja();">
  50. <input type="checkbox" name="ch9" id="ch9" onclick="deaktywacja();">
  51. </form>
  52.  
  53. <form name="formularz">
  54. <input type="checkbox" name="ch10" id="ch10" onclick="deaktywacja();">
  55. <input type="checkbox" name="ch11" id="ch11" onclick="deaktywacja();">
  56. <input type="checkbox" name="ch712" id="ch12" onclick="deaktywacja();">
  57. </form>
  58.  
  59. </body>
  60. </html>
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: 13.10.2025 - 19:49