Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zaznaczanie checkboxow
jerzes
post 11.04.2007, 20:35:29
Post #1





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 4.10.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Witam smile.gif
Probuje stworzyc formularz edycji danych w htmlu ktory bedzie pobieral dane z bazy danych i je wyswietlal w formularzu.
O ile nie ma problemu z wyswietlaniem danych w polach tekstowych o tyle pojawia sie on przy opcji zaznaczania checkboxow.
Mam kilka checkboxow ktore po wyslaniu formularza tworza tablice:
  1. <input type="checkbox" name="nazwa[]" value="jakas_opcja">
itd...
W jaki sposob moge stworzyc funkcje ktora bedzie mi zaznaczala pola ktore sa wpisane do bazy danych?
Probowalem w js
  1. <script type="text/javascript">
  2. document.form1.elements.nazwa[1].checked = true;

ale to nie zdaje egzaminu bo nazwa nie moze zawierac "[]" a bez nawiasow wysylajac formularz nie stworze z checkboxow ponownie tablicy.
Dzieki za ewentualna pomoc smile.gif
Go to the top of the page
+Quote Post
nospor
post 11.04.2007, 20:40:16
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
W jaki sposob moge stworzyc funkcje ktora bedzie mi zaznaczala pola ktore sa wpisane do bazy danych?
A czemu nie mozesz zaznaczyc tych checkboxow na etapie ich generowania? Skoro chcesz zaznaczyc te co sa w bazie, to generuj od razu zaznaczone, po co robic to w js?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Prph
post 12.04.2007, 07:55:38
Post #3





Grupa: Zarejestrowani
Postów: 338
Pomógł: 2
Dołączył: 4.03.2006
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Dokladnie, jak mowi nospor. Jak masz liste z bazy, to po prostu dodaj checked="checked" przy tych, ktore za zapisane w bazie.

Ostatnio napisalem swietny helper do tego zadania. Wystarczy odpowiednio przygotowac dane i zaznacza te checkboksy, ktore:

1. byly zaznaczone w bazie
2. byly zaznaczone na formularzu, ale wystapily blady - wiec musi przywrocic zaznaczone pola

Najwieksza zaleta - potrafi wspolpracowac z nazwami checkboksow typu name="opcje[1][67]".

Adrian.
Go to the top of the page
+Quote Post
jerzes
post 12.04.2007, 08:54:20
Post #4





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 4.10.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Jak zwykle chcialem za bardzo kombinowac smile.gif
Jesli bys mogl podeslac jakis przyklad byloby rewelacyjnie moze jeszcze czegos sie dowiem.
Jest jescze drobny szczegol: w bazie mam liste tylko tych opcji ktore zostaly zaznaczone. Wszystkie checkboxy sa w formularz. Dlatego chcialem uniknac pisania duzej ilosci warunkow i napisac skrypt w JS ktory pobieralby tablice z bazy z opcjami do zaznaczenia i zaznaczal te checkboxy w formularzu.
Pozdr.
Go to the top of the page
+Quote Post
Prph
post 12.04.2007, 12:31:14
Post #5





Grupa: Zarejestrowani
Postów: 338
Pomógł: 2
Dołączył: 4.03.2006
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Ja pobieram liste wszystkich opcji (no bo wszystkie sa wyswietlane). Te ktore za zaznaczone w bazie maja dodatkowe pole w tablicy, np. checked = true. Przyklad:

  1. <?php
  2. $aCheckbox['name'] = "To jest pole"
  3. $aCheckbox['id'] = 5;
  4. $aCheckbox['checked'] = true; // albo $aCheckbox['checked'] = null;
  5. ?>


Teraz wystarczy napisac dobry helper do obslugi checkboksa i zsprawa sama sie zalatwia. Taki chelper jest dostepny we frameworku Rapide: http://rapideframework.googlecode.com/svn/...ecked.class.php

Nie mam teraz czasu opisywac helper. Z reszta - jest on troche zintegrowany z frameworkiem, ale zasada ogolna jest przedstawiona.

Adrian.
Go to the top of the page
+Quote Post
misiek172
post 13.04.2007, 15:37:48
Post #6





Grupa: Zarejestrowani
Postów: 656
Pomógł: 3
Dołączył: 26.10.2005
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


w każdym wypadku o zaznaczaniu CHECKBOXów w JS było wiele razy, sam odpowiadałem na to z 2 razy uzyj SZUKAJ


--------------------
zmoderowano - waga i rozmiar
Go to the top of the page
+Quote Post
jerzes
post 15.04.2007, 16:01:27
Post #7





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 4.10.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


zaznaczyc checkboxa w JS tez umiem ale jak w nazwie daje "[]" czyli name="tablica[]" do juz skrypt nie zaznacza mi tych pol.
Go to the top of the page
+Quote Post
misiek172
post 18.04.2007, 21:41:59
Post #8





Grupa: Zarejestrowani
Postów: 656
Pomógł: 3
Dołączył: 26.10.2005
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


bo wtedy js odwołanie wygląda tak:

document.nazwa_formularza['nazwa_pola[1]'];

załóżmy że jeden tam ma być smile.gif

lub poprstu dodatkowo sobie ponumerujesz checkboxy tak:

<input id=0 type="checkbox" name="nazwa[]" value="jakas_opcja">
<input id=1 type="checkbox" name="nazwa[]" value="jakas_opcja">

i potem

for(i=0;i<=ilosc_check_boxow;i++){
var element = document.getElementById[i];
//tu sobie robisz z elementem co chcesz smile.gif np zaznaczasz smile.gif
}

Ten post edytował misiek172 18.04.2007, 21:45:30


--------------------
zmoderowano - waga i rozmiar
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 23.06.2025 - 03:34