Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP] czemu nie działa checked="checked" ?
Forum PHP.pl > Forum > Przedszkole
kaem
  1. <form action="<?php echo $t['adres']; ?>"  method="post" name="wybierz">
  2.    
  3.    <table style="border:0; padding:0" cellspacing="0">
  4.  
  5. <?php
  6.    $i = 1;
  7.    foreach($p as $k=>$v) // $k - nazwa kategori
  8.    {
  9.        echo '<tr><td>';
  10.        //echo "<input type='checkbox'  name='katid$i' value='".$idkat[$i-1]."' checked='checked' />".$k;
  11.        echo "<input type=checkbox  name='katid$i' value='".$idkat[$i-1]."' checked='checked' />".$k;
  12.        echo '</td><td></td>';
  13.        //echo $k.'<br/>';

Ktoś wie czemu checked='checked mi nie działa? Gdy umieszczę te checkboxy poza formularzem to są zaznaczone....
athei
To name='katid$i' chyba nie miało tak wyglądać, pisz poprawnie (cudzysłowy,apostrofy...)
  1. <?php
  2. echo '<input type="checkbox" name="katid' . $i . '" value="' . $idkat[$i-1] . '" checked="checked" />';
  3. ?>
kaem
Małe przeoczenie. Poprawiłem ale problem dalej pozostaje. Oto cały plik:
  1. <?php
  2. $p = $t['pod'];
  3. $idkat = ($t['idkat']);
  4. echo $idkatttt.'<br>';
  5. $pod = array(); //wybrane w formularzu podkategories
  6.  
  7. echo '<form action=""  method="post">';
  8. echo "<input type='checkbox' checked='checked' name='Sx' value='male'/>";
  9. echo "<input type='checkbox' checked='checked' name='Sex'value='male'/>";
  10. echo "</form>"
  11.  
  12. ?>
  13. <br/>
  14. Wybierz Podkategorie dla wybranych kategorii:
  15. <table style="border:0; padding:0" cellspacing="0">
  16. <tr>
  17.  
  18. <td>
  19. <form action="<?php echo $t['adres']; ?>"  method="post" name="wybierz">
  20.    
  21.    <table style="border:0; padding:0" cellspacing="0">
  22.  
  23. <?php
  24.    $i = 1;
  25.    $l=0;
  26.    foreach($p as $k=>$v) // $k - nazwa kategori
  27.    {
  28.        echo '<tr><td>';
  29.  
  30.        echo '<input type="checkbox" name="katid' . $i . '" value="' . $idkat[$i-1] . '" checked="checked" />'.$k;
  31.        echo '</td><td></td>';
  32.  
  33.        echo '<tr><td></td><td>';
  34.        foreach($v as $k2=>$v2) //$k2 - id_podkategori, $v2[] - id kat i nazwa podkat.
  35.        {
  36.            if($l==0)
  37.                $checked='checked="checked"';
  38.            else
  39.                $checked='';
  40.  
  41.       echo "<input type='radio' name='"."kat".$i."' value='".$v2['nazwa_podkategori']."' $checked />".$v2['nazwa_podkategori'];
  42.  
  43.       $l++;
  44.        }
  45.        echo '</td></tr>';
  46.        $i++;
  47.      
  48.              
  49.    }
  50. ?>
  51.  
  52.  
  53. <tr><td><input type="hidden" name="idkatttt" value="safsaf"/></tr>
  54. <tr><td><font face="arial" size="2">nazwa ogłoszenia</font></td><td><input type="text" name="nazwa" id="nazwa" size="40">
  55.    <span style='color: red;'><label for="nazwa"></label></span></td></tr>
  56. <tr><td><font face="arial" size="2">Telefon:</font></td><td><input type="text" name="telefon" id="telefon" size="40">
  57.   <span style='color: red;'><label for="telefon"></label></span> </td></tr>
  58. <tr><td><font face="arial" size="2">E-mail:</font></td><td><input type="text" name="mail" id="mail" size="40">
  59.        <span style='color: red;'><label for="mail"></label></span></td></tr>
  60. <tr><td><font face="arial" size="2">Strona WWW:</font></td><td><input type="text" name="www" id="www" size="40">
  61.        <span style='color: red;'><label for="www"></label></span></td></tr>
  62. <tr><td><font face="arial" size="2">Cena</font></td><td><input type="text" name="cena" id="cena" size="10">zł
  63.        <span style='color: red;'><label for="cena"></label></span></td></tr>
  64.  
  65. <tr valign="top"><td><font face="arial" size="2">Podaj treść ogłoszenia:</font></td><td><textarea  name="tresc"  rows="8" cols="40"></textarea></td></tr>
  66. <tr><td><span style='color: red;'><label for="tresc"></label></span></td></tr>
  67. <tr><td><font face="arial" size="2">Region</font></td><td>
  68.        <select name="region">
  69. <optgroup label="-- wybierz region --">
  70. <option value="cale" selected="selected">Całe województwo</option>
  71. <option value="lublin">Lublin</option>
  72. <option value="krasnik">Kraśnik</option>
  73. <option value="zamosc">Zamość</option>
  74. </optgroup>
  75. </select>
  76.        <span style='color: red;'><label for="mail"></label></span></td></tr>
  77.  
  78. <tr><td colspan="2" align="center"><input type="submit" value="wyslij"></td></tr></table>
  79.  
  80. </form>
  81. </td></tr>
  82.  
  83. </table>

W formularzu "testowym" na samej górze checkboxy się zaznaczają, natomiast w formularzu głównym już nie. Co robię ciągle źle?
athei
Lepiej sprawdź tą pętlę foreach($v as $k2=>$v2), $v jest brana z wcześniejszej pętli, i nie jest tablicą (chyba).
kaem
To jest tablica wielowymiarowa i $v też jest tablicą. Dlatego używam 2 razy foreach. Wszystkie kontrolki mi się na stronie ładnie ładują razem z wartościami atrybutów 'name' i value tylko ten checkbox nie chce coś działać...
tmka
Sprawdziłem ten kod u siebie, tablice $p zdefiniowałem ręcznie:
  1. <?php
  2. $p=array(
  3.      'kat1'=>array('cs','cs2'),
  4.      'kat2'=>array('cs3','cs4'),
  5.      'kat3'=>array('cs5','cs6'),
  6.    );
  7.  
  8. //$p = $t['pod'];
  9. $idkat = ($t['idkat']);
  10. echo $idkatttt.'<br>';
  11. $pod = array(); //wybrane w formularzu podkategories
  12.  
  13. echo '<form action=""  method="post">';
  14. echo "<input type='checkbox' checked='checked' name='Sx' value='male'/>";
  15. echo "<input type='checkbox' checked='checked' name='Sex'value='male'/>";
  16. echo "</form>"
  17.  
  18. ?>
  19. <br/>
  20. Wybierz Podkategorie dla wybranych kategorii:
  21. <table style="border:0; padding:0" cellspacing="0">
  22. <tr>
  23.  
  24. <td>
  25. <form action="<?php echo $t['adres']; ?>"  method="post" name="wybierz">
  26.  
  27.   <table style="border:0; padding:0" cellspacing="0">
  28.  
  29. <?php
  30.   $i = 1;
  31.   $l=0;
  32.   foreach($p as $k=>$v) // $k - nazwa kategori
  33.   {
  34.       echo '<tr><td>';
  35.  
  36.       echo '<input type="checkbox" name="katid' . $i . '" value="' . $idkat[$i-1] . '" checked="checked" />'.$k;
  37.       echo '</td><td></td>';
  38.  
  39.       echo '<tr><td></td><td>';
  40.       foreach($v as $k2=>$v2) //$k2 - id_podkategori, $v2[] - id kat i nazwa podkat.
  41.       {
  42.           if($l==0)
  43.               $checked='checked="checked"';
  44.           else
  45.               $checked='';
  46.  
  47.      echo "<input type='radio' name='"."kat".$i."' value='".$v2['nazwa_podkategori']."' $checked />".$v2['nazwa_podkategori'];
  48.  
  49.      $l++;
  50.       }
  51.       echo '</td></tr>';
  52.       $i++;
  53.  
  54.  
  55.   }
  56. ?>
  57.  
  58.  
  59. <tr><td><input type="hidden" name="idkatttt" value="safsaf"/></tr>
  60. <tr><td><font face="arial" size="2">nazwa ogłoszenia</font></td><td><input type="text" name="nazwa" id="nazwa" size="40">
  61.   <span style='color: red;'><label for="nazwa"></label></span></td></tr>
  62. <tr><td><font face="arial" size="2">Telefon:</font></td><td><input type="text" name="telefon" id="telefon" size="40">
  63.  <span style='color: red;'><label for="telefon"></label></span> </td></tr>
  64. <tr><td><font face="arial" size="2">E-mail:</font></td><td><input type="text" name="mail" id="mail" size="40">
  65.       <span style='color: red;'><label for="mail"></label></span></td></tr>
  66. <tr><td><font face="arial" size="2">Strona WWW:</font></td><td><input type="text" name="www" id="www" size="40">
  67.       <span style='color: red;'><label for="www"></label></span></td></tr>
  68. <tr><td><font face="arial" size="2">Cena</font></td><td><input type="text" name="cena" id="cena" size="10">zł
  69.       <span style='color: red;'><label for="cena"></label></span></td></tr>
  70.  
  71. <tr valign="top"><td><font face="arial" size="2">Podaj treść ogłoszenia:</font></td><td><textarea  name="tresc"  rows="8" cols="40"></textarea></td></tr>
  72. <tr><td><span style='color: red;'><label for="tresc"></label></span></td></tr>
  73. <tr><td><font face="arial" size="2">Region</font></td><td>
  74.       <select name="region">
  75. <optgroup label="-- wybierz region --">
  76. <option value="cale" selected="selected">Całe województwo</option>
  77. <option value="lublin">Lublin</option>
  78. <option value="krasnik">Kraśnik</option>
  79. <option value="zamosc">Zamość</option>
  80. </optgroup>
  81. </select>
  82.       <span style='color: red;'><label for="mail"></label></span></td></tr>
  83.  
  84. <tr><td colspan="2" align="center"><input type="submit" value="wyslij"></td></tr></table>
  85.  
  86. </form>
  87. </td></tr>
  88.  
  89. </table>


i checkboxy mam pozaznaczane. Najlepiej wyświetl tą tablice print_r'em i sprawdz jej strukturę, może faktycznie jest w niej coś nie tak.
kaem
Kurcze, u mnie też się zaznaczają jak stworze nowy zwykły plik i wkleje Twój kod, natomiast używam tego we frameworku AGAVI i w nim nie działa...;/


EDIT://
  1. <form action="<?php echo $t['adres']; ?>"  method="post" name="wybierz">

Jak zostawię action puste, tj. action="" to wtedy działa....
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.