Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS] zaznaczenie wszystkich checkboxow
Forum PHP.pl > Forum > Przedszkole
hhg
mam dylemat w JS na ktorym sie nie znam

napisalem funkcje
Kod
<script type="text/javascript">
function makeCheck() {

    var objekt = getElementById("formularzyk");
    
    var ilosc = objekt.length;
    
    for (i=0; i<ilosc; i++) {
        var type = objekt.elements[i].type;

        if (type=="checkbox") {
            objekt.elements[i].checked = true;
        }
    }
}
</script>



ktora ma za zadanie zaznaczyc wszystkie elementy ktore sa checkboxami formularza 'formularzyk' jako TRUE
czyli cos w stylu 'zaznacz wszystko'

to bylo w <head>

natomiast w <body> mam kod:


Kod
        <form action="email.php" method="post" name="formularzyk" id="formularzyk">

        
        <table width="500" border="1" cellpadding="0" cellspacing="0">
        
          <tr>
            <th scope="col" width="300">list</th>
            <th scope="col" width="100">send e-mail?</th>
          </tr>
          
                    
              <tr>
                <td class="data" valign="middle">
                    <a href="javascript:popup('user_profile.php',300,500)">t ta (tadek)</a>

                </td>
                <td class="data" valign="middle">
                    <input name="option" type="checkbox" value="1" />
                </td>
              </tr>
              
                    
          <tr valign="bottom">
            <td colspan="4" class="bottom" valign="bottom">
            <div style="float: right; height:22px; line-height:22px; padding-right:16px;">
                <a href="makeCheck(this.form)">zaznacz wszystko</a>

                &nbsp;&nbsp;&nbsp;
            </div></td>
          </tr>
          
        </table>
        
        <br />
    </div>
    
        <div>&nbsp;</div><div>&nbsp;</div><h3 class="red">E-mail text</h3><div>&nbsp;</div>
        
        
                
                <table border="0" width="500">

                                
                        <tr>
                            <td align="right">
                                <b>subject:</b>
                            </td>
                            <td align="left">
                                <input type="text" name="subject" size="70" maxlength="100" value="" " class="input_dark" />
                            </td>
                        </tr>

                
                                
                        <tr>
                            <td align="right">
                                <b>text:</b>
                            </td>
                            <td align="left">
                                <textarea name="text" cols="90" rows="10"  class="input_dark"></textarea>
                            </td>
                        </tr>

                
                                </table>
                <div align="left">
                    
            <br/>
                <input type="submit" name="submit" value="submit" class="input_bn" />
        
                <input type="reset" value="reset" class="input_bn" />
            </form>


oczywiscie po kliknieciu w napis 'zaznacz wszystko' nie zostaje wywolana zadna akcja..

prosze o pomoc
tommy4
Kod
    var objekt = document.getElementById("formularzyk");


Kod
               <a href="#" onclick="makeCheck(this.form); return false;">zaznacz wszystko</a>


EDIT: z tymże nie wiem, czemu podajesz this.form w argumencie, możesz zrobić tak:

Kod
function makeCheck(argForm)

Kod
    var objekt = document.getElementById(argForm);


Kod
               <a href="#" onclick="makeCheck('formularzyk'); return false;">zaznacz wszystko</a>
hhg
niestety dalej to nie działa (nie zaznacza)

dodatek do firefoxa 'firebug' znajduje bład
"objekt has no properties" i to sie tyczy length..

obecna postac funkcji:
Kod
<script type="text/javascript">
function makeCheck() {

    var objekt = document.getElementById("formularzyk");
    
    var ilosc = objekt.length;
    
    for (i=0; i<ilosc; i++) {
        var type = objekt.elements[i].type;

        if (type=="checkbox") {
            objekt.elements[i].checked = true;
        }
    }
}
</script>


i jej wywolania:
Kod
<a href="#" onclick="makeCheck(); return false;">zaznacz wszystko</a>
tommy4
  1. <script type="text/javascript">
  2. function makeCheck() {
  3.  
  4. var objekt = document.getElementById("formularzyk");
  5.  
  6. var ilosc = objekt.length;
  7.  
  8. for (i=0; i<ilosc; i++) {
  9. var type = objekt.elements[i].type;
  10.  
  11. if (type=="checkbox") {
  12. objekt.elements[i].checked = true;
  13. }
  14. }
  15. }
  16. </head>
  17. <body>
  18. <form action="email.php" method="post" name="formularzyk" id="formularzyk">
  19.  
  20.  
  21. <table width="500" border="1" cellpadding="0" cellspacing="0">
  22.  
  23. <tr>
  24. <th scope="col" width="300">list</th>
  25. <th scope="col" width="100">send e-mail?</th>
  26.  
  27. </tr>
  28.  
  29.  
  30. <tr>
  31. <td class="data" valign="middle">
  32. <a href="javascript:popup('user_profile.php',300,500)">t ta (tadek)</a>
  33.  
  34. </td>
  35. <td class="data" valign="middle">
  36. <input name="option" type="checkbox" value="1" />
  37. </td>
  38.  
  39. </tr>
  40.  
  41.  
  42. <tr valign="bottom">
  43. <td colspan="4" class="bottom" valign="bottom">
  44. <div style="float: right; height:22px; line-height:22px; padding-right:16px;">
  45. <a href="#" onclick="makeCheck(this.form); return false;">zaznacz wszystko</a>
  46.  
  47. &nbsp;&nbsp;&nbsp;
  48. </div></td>
  49. </tr>
  50.  
  51.  
  52. </table>
  53.  
  54. <br />
  55. </div>
  56.  
  57. <div>&nbsp;</div><div>&nbsp;</div><h3 class="red">E-mail text</h3><div>&nbsp;</div>
  58.  
  59.  
  60.  
  61. <table border="0" width="500">
  62.  
  63.  
  64. <tr>
  65. <td align="right">
  66. <b>subject:</b>
  67.  
  68. </td>
  69. <td align="left">
  70. <input type="text" name="subject" size="70" maxlength="100" value="" " class="input_dark" />
  71. </td>
  72. </tr>
  73.  
  74.  
  75.  
  76. <tr>
  77. <td align="right">
  78. <b>text:</b>
  79.  
  80. </td>
  81. <td align="left">
  82. <textarea name="text" cols="90" rows="10" class="input_dark"></textarea>
  83. </td>
  84. </tr>
  85.  
  86.  
  87. </table>
  88. <div align="left">
  89.  
  90. <br/>
  91.  
  92. <input type="submit" name="submit" value="submit" class="input_bn" />
  93.  
  94. <input type="reset" value="reset" class="input_bn" />
  95. </form>
  96. </body>
  97. </html>


Na firefoksie wszystko mi działa. Pozdro.
hhg
zmienilem cos w kodzie u siebie jeszcze i dizala, dzieki
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.