Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][HTML][PHP]Ograniczenie liczby zaznaczeń w checkboxie
Forum PHP.pl > Forum > Przedszkole
Mikele7
Witam. Chciałbym stworzyć formularz z checkboxami, gdzie będzie można wybrać liczbę opcji z wcześniej podaną przez użytkownika i przekazaną w sesji. Znalazłem poniższy skrypt, który działa, ale tylko, gdy jest ustawiona stała liczba opcji, w tym przypadku 2. Czy istnieje możliwość by w kodzie javascriptu liczbę z sesji?
  1. <script type="text/javascript">
  2. function initCheckLimit(elm, count) {
  3. var cb = elm.getElementsByTagName('input');
  4. for (var i = 0; i < cb.length; i++) {
  5. if (cb[i].getAttribute('type') != 'checkbox') continue;
  6. cb[i]._count = count;
  7. cb[i].onclick = function() {
  8. var cn = this.parentNode.childNodes;
  9. var checkCount = 0;
  10. for (var j = 0; j < cn.length; j++) {
  11. if (cn[j].nodeType != 1) continue;
  12. if (cn[j].getAttribute('type') != 'checkbox') continue;
  13. if (cn[j].checked) checkCount++;
  14. if (checkCount > this._count) return false;
  15. }
  16. };
  17. }
  18. }
  19. onload = function() {
  20. initCheckLimit(document.getElementById('my_form'), 2);
  21. };
  22. </script>
  23. <form id="my_form">
  24. <div>
  25. <input type="checkbox" />1
  26. <input type="checkbox" />2
  27. <input type="checkbox" />3
  28. <input type="checkbox" />4
  29. <input type="checkbox" />5
  30. </div>
  31. <div>
  32. <input type="checkbox" />1
  33. <input type="checkbox" />2
  34. <input type="checkbox" />3
  35. <input type="checkbox" />4
  36. <input type="checkbox" />5
  37. </div>
  38. <div>
  39. <input type="checkbox" />1
  40. <input type="checkbox" />2
  41. <input type="checkbox" />3
  42. <input type="checkbox" />4
  43. <input type="checkbox" />5
  44. </div>
  45. </form>
fate
http://bit.ly/1yMeCX6
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.