Jestem zupełnie zielony w sprawach Jscript, natomiast potrzebuję na stronie kilku checkboxów. Po wybraniu trzech z nich reszta powinna się zrobić disabled, tzn z
  1. <input type="checkbox" name="nazwa" value="wartosc">
powinno się zrobić
  1. <input type="checkbox" disabled="disabled" name="nazwa" value="wartosc">


Jak to najlepiej napisać?

Szukałem zarówno na forum jak i w internecie i nie mogłem znaleźć.


Edit
Korzystając z różnych informacji/kursów itp. znalezionych w necie napisałem takie coś:
  1. <script LANGUAGE="Jscript">
  2. <!--
  3. selected = 0; // Ile zaznaczonych checkboxów
  4.  
  5. function swap(oForm, checkbox) {
  6.  
  7. // Jeżeli checkbox jest zaznaczony, zwiększmy liczbę zaznaczonych o jeden
  8.  
  9. if(oForm.name0.checked&&checkbox==0){
  10. selected = selected+1;
  11. }
  12. else if(oForm.name1.checked&&checkbox==1){
  13. selected = selected+1;
  14. }
  15. else if(oForm.name2.checked&&checkbox==2){
  16. selected = selected+1;
  17. }
  18. else if(oForm.name3.checked&&checkbox==3){
  19. selected = selected+1;
  20. }
  21. else if(oForm.name4.checked&&checkbox==4){
  22. selected = selected+1;
  23. }
  24. else if(oForm.name5.checked&&checkbox==5){
  25. selected = selected+1;
  26. }
  27.  
  28. // Jeżeli nie jest, zmniejszmy liczbę zaznaczonych o jeden
  29.  
  30. else {
  31. selected = selected-1;
  32. }
  33.  
  34. // Zaznaczyliśmy już trzy. Reszta staje się niedostępna
  35.  
  36. if(selected==3){
  37. if(!oForm.name0.checked){
  38. oForm.name0.disabled=true;
  39. }
  40. if(!oForm.name1.checked){
  41. oForm.name1.disabled=true;
  42. }
  43. if(!oForm.name2.checked){
  44. oForm.name2.disabled=true;
  45. }
  46. if(!oForm.name3.checked){
  47. oForm.name3.disabled=true;
  48. }
  49. if(!oForm.name4.checked){
  50. oForm.name4.disabled=true;
  51. }
  52. if(!oForm.name5.checked){
  53. oForm.name5.disabled=true;
  54. }
  55. }
  56.  
  57. // Nie, nie zaznaczyliśmy trzech. Wszystkie są dostępne
  58.  
  59. else {
  60. oForm.name0.disabled=false;
  61. oForm.name1.disabled=false;
  62. oForm.name2.disabled=false;
  63. oForm.name3.disabled=false;
  64. oForm.name4.disabled=false;
  65. oForm.name5.disabled=false;
  66. }
  67. }
  68. //-->
  69. </HEAD>
  70. <form name="myForm">
  71. <INPUT TYPE="checkbox" NAME="name0" onClick="swap(this.form, 0)" disabled>Checkbox 0<BR>
  72. <INPUT TYPE="checkbox" NAME="name1" onClick="swap(this.form, 1)" disabled>Checkbox 1<BR>
  73. <INPUT TYPE="checkbox" NAME="name2" onClick="swap(this.form, 2)" disabled>Checkbox 2<BR>
  74. <INPUT TYPE="checkbox" NAME="name3" onClick="swap(this.form, 3)" disabled>Checkbox 3<BR>
  75. <INPUT TYPE="checkbox" NAME="name4" onClick="swap(this.form, 4)" disabled>Checkbox 3<BR>
  76. <INPUT TYPE="checkbox" NAME="name5" onClick="swap(this.form, 5)" disabled>Checkbox 3<BR>
  77. </form>
  78. </BODY>
  79. </HTML>
  80. <script LANGUAGE="Jscript">
  81. <!--
  82.  
  83. // Wyłączamy disabled dla wszystkich inputów
  84.  
  85. myForm.name0.disabled=false;
  86. myForm.name1.disabled=false;
  87. myForm.name2.disabled=false;
  88. myForm.name3.disabled=false;
  89. myForm.name4.disabled=false;
  90. myForm.name5.disabled=false;
  91. //-->
Ma to jednak dwie podstawowe wady:
a.) Jest DŁUGIE
b.) Działa tylko pod Internet Exploler

Wie ktoś może jak zaradzić tym dwóm niedogodnościom?

Edit2
Dziękuję za szybką odpowiedź ohmy.gif
Jeżeli ktoś jest ciekaw moich wyników mojej własnej pracy metodą prób i przeważających błędów to:
a.) w nagłówku powinno być <script LANGUAGE="javascript"> - wtedy działa pod wszystkimi przeglądarkami
b.) Skrócony kod
  1. <script LANGUAGE="javascript">
  2. <!--
  3. selected = 0;
  4. function swap(oForm, checkbox) {
  5. if(oForm.elements[checkbox].checked) selected = selected+1;
  6. else selected = selected-1;
  7. if(selected==3){
  8. for (i=0;i<6;i++) {
  9. if(!oForm.elements[i].checked) oForm.elements[i].disabled=true;
  10. };
  11. }
  12. else {
  13. for (i=0;i<6;i++) document.myForm.elements[i].disabled=false;
  14. }
  15. }
  16. //-->
  17. </HEAD>
  18. <form name="myForm">
  19. <INPUT TYPE="checkbox" NAME="name0" onClick="swap(this.form, 0)">Checkbox 0<BR>
  20. <INPUT TYPE="checkbox" NAME="name1" onClick="swap(this.form, 1)">Checkbox 1<BR>
  21. <INPUT TYPE="checkbox" NAME="name2" onClick="swap(this.form, 2)">Checkbox 2<BR>
  22. <INPUT TYPE="checkbox" NAME="name3" onClick="swap(this.form, 3)">Checkbox 3<BR>
  23. <INPUT TYPE="checkbox" NAME="name4" onClick="swap(this.form, 4)">Checkbox 3<BR>
  24. <INPUT TYPE="checkbox" NAME="name5" onClick="swap(this.form, 5)">Checkbox 3<BR>
  25. </form>
  26. </HTML>