Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][JavaScript]Atrybut disable na buttonie "generowanym" w pętli
Forum PHP.pl > Forum > Przedszkole
danon198901
Witam,
temat tematu może brzmi strasznie/kłopotliwie, ale mam nadzieję, że rozwiązanie jest proste:)

Z JS miałem małą styczność, jednak wiem jak zrobić podstawowe czynności (tak sądzę). Jeśli chodzi o atrybut disable na jeden KONKRETNY button to nie ma problemu.
Sprawa wygląda u mnie tak: Wybieram sobie ilość stron (do dokumentu), a następnie php generuje mi tytuł, treść i możliwość dodania obrazka wg. poniższego kodu:

  1. $ilosc_stron = $_POST['ilosc_stron'];
  2.  
  3. // jakis tam kod:P
  4.  
  5. for($i=1; $i<=$ilosc_stron; $i++)
  6. {
  7. // gererowanie tutułu dla strony (textbox tytul.$i), treści (textarea tresc.$i)
  8.  
  9. echo '<center><label>Chcę dodać obrazek do tej strony</label><input type="checkbox" name="obrazek'.$i.'" value="dodajobrazek" id="abc'.$i.'" onClick="sprawdzObrazek('.$i.')" /><br />';
  10. echo '<input type="file" name="fl'.$i.'" disabled /><br /><br/><br /></center>';
  11. }


Generalnie wszystko pod względem PHP działa mi jak należy. Problem jest właśnie z javascriptem. Po zaznaczeniu każdego checkbox'a powinien załączyć się button do ładowania pliku (domyślnie ustawiony na disable), a to mi właśnie nie działa. Pewnie pochrzaniłem coś ze skryptem:(

  1. function sprawdzObrazek(nr_strony)
  2. {
  3. document.frm.fl+nr_strony+.disabled=true; //ten zapis fl+nr_strony mi się nie podoba - możliwe, że jakoś inaczej trzeba to zapisać
  4. if(document.getElementById("abc"+nr_strony+"").checked == true)
  5. document.frm.fl+nr_strony.disabled=false;
  6. else if(document.getElementById("abc"+nr_strony+"").checked == false)
  7. document.fmr.fl+nr_strony+.disabled=true;
  8. }



Javascripty (jQuerry) mam zamiar pomęczyć w niedalekiej przyszłości, a niestety ten element układanki jest mi potrzebny w zasadzie na wczoraj:P
Liczę na pomoc z waszej strony;)

POZDRAWIAM
b4rt3kk
  1. function sprawdzObrazek(nr_strony)
  2. {
  3. document.getElementById('fl'+nr_strony).disabled=true; //ten zapis fl+nr_strony mi się nie podoba - możliwe, że jakoś inaczej trzeba to zapisać
  4. if(document.getElementById("abc"+nr_strony+"").checked == true)
  5. document.getElementById('fl'+nr_strony).disabled=false;
  6. else if(document.getElementById("abc"+nr_strony+"").checked == false)
  7. document.getElementById('fl'+nr_strony).disabled=true;
  8. }
danon198901
ojej...spodziewałem się trywialnego rozwiązania, ale żeby aż tak arrowheadsmiley.png

Nie wiem czemu, ale ubzdurałem sobie, że disabled poprzed id nie można zmienić (zdawało mi się, że kiedyś tak próbowałem), a tu zonk.
Dzięki bartuś za pomoc;)
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.