Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem przy przekazaniu zmiennej...
Forum PHP.pl > Forum > PHP
progman
Witam, mam wyrysowane 4 checkboxy które są dynamicznie wprowadzane na formularz z bazy postgresa. Mam też 3 przyciski na formularzu gdzie pierwszy to: zaznacz wszystkie, drugi: odnzacz wszystkie i trzeci odwróć. Moim problemem jest przekazanie do innego formularza które zostały zaznaczone. Poniżej przedstawiam skrypt

  1. <?php
  2. // odznacza wszystkie checkboxy
  3. print 'function uncheckAll()';
  4. print '{';
  5. $count=pg_num_rows($sql);
  6. print 'for (var j = 0; j <= '.$count.'; j++)';
  7. print '{';
  8. print 'box = eval("document.checkboxform.C" + j);';
  9. print 'if (box.checked == true) box.checked = false;';
  10. print '}';
  11. print '}';
  12. ?>

itd...

  1. <?php
  2. // forma (buttony, checkboxy itp... ...kryteria...) 
  3.  
  4. print '<INPUT class="raporty" type=button value="Zazn. wszyst." onClick="checkAll()"> ';
  5. print '<INPUT class="raporty" type=button value="Odzn. wszyst." onClick="uncheckAll()"> ';
  6. print '<INPUT class="raporty" type=button value="Odwróć zazn." onClick="switchAll()"> ';
  7. print '<P>';
  8. $count=pg_num_rows($sql);
  9.  for ($x=0;$x<$count;$x++) {
  10. print '<BR><INPUT class="raporty_new" type="checkbox" name="C'.$x.'" value="'.pg_fetch_result($sql, $x, 'id').'" checked="checked" > '.pg_fetch_result($sql, $x, 'nazwa').'';
  11. }
  12. ?>


Kto mi pomoże sobie z tym poradzić?
bigZbig
Kod
<?php
  print'<pre>';print_r($_POST);print'';
  $count = 5;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
<head>
  <title> [tytul strony]
  <link rel="stylesheet" id="myStylesheet" href="./red.css" type="text/css" />
  <script type="text/javascript">
    function switchAll(check){
      for (var j=0;j<<?php echo $count; ?>;j++){
        box=eval("document.checkboxform.C" + j);
        if(box.checked==1){box.checked=(check==1)?1:0;}else{box.checked=(check==0)?0:1;}
      }
    }
  </script>
</head>
<body>
  <form name="checkboxform" method="POST">
    <input class="raporty" type=button value="Zazn. wszyst." onclick="switchAll(1)" />
    <input class="raporty" type=button value="Odzn. wszyst." onclick="switchAll(0)" />
    <input class="raporty" type=button value="Odwróć zazn." onclick="switchAll()" />
    <p>
    <?php
      for ($x=0;$x<$count;$x++) {
        echo '<br />';
        echo '<input type="checkbox" name="C'.$x.'" value="'.$x.'" checked="checked" /> '.$x.'';
      }
    ?>
    </p>
    <input type="submit" value="OK" />
  </form>
</body>
</html>
jarrod
  1. <?php
  2. print '<br/><input class="raporty_new" type="checkbox" name="C'.$x.'[]" value="'.pg_fetch_result($sql, $x, 'id').'" checked="checked" >';
  3. ?>

Checkboxy są tablicą wartości więc traktuj je jak tablice. Bez tych nawiasów zostanie przesłana wartość ostatniego zaznaczonego checkboxa.
bigZbig
@jarrod - zastanów się czy Ty chcesz stworzyć tyle tablic ile jest checkboxsów? Poza tym poco skoro każdy checkbox ma unikalną nazwę?
jarrod
no tak....
Cofam ostatnie zdanie winksmiley.jpg
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.