Shinji
20.10.2011, 23:43:18
Witam,
Używam droppable z biblioteki jQ-ui, jednak napotkałem na pewną zagwozdkę. Chciałbym, aby to czy element rzeczywiście pasuje bylo weryfikowane przez ajax. Znaczy przeciagam element dragable na droggable i po tym/przed tym czy innym dowolnym czasie i sposobie zostaje wysłane zapytanie w tle np z atrybutem REL obiektu i w zależności od wyniku element zostaje zaakceptowany, albo wraca na swoje miejsce.
kamil4u
22.10.2011, 12:04:37
Najprościej użyj metody accept, która będzie się zmieniała w chwili zdarzeniu dotyczącym dragabble.
Chociaż lepiej, gdybyś przy starcie strony zrobił np. tablicę z dostępnymi elementami i nie używał ajax-a - chyba, że musisz.
Shinji
22.10.2011, 14:10:42
No własnie problem w tym, że musi być to ajax. Bo musi byc to zweryfikowane po stronie serwera - strone klienta mozna za latwo manipulowac. Czyli przeciagasz obiekt i zostaje wyslany jego ID, następnie zostaje sprawdzone czy dany uzytkownik w ogole ma taki element przypisany do siebie i w danej chwili moze go uzyc. Chodzi mi o obsluzenie sytuacji w ktorej ktos za pomoca firebuga zmienia ID obiektu przeciaga go i bez dodatkowej weryfikacji od strony serwera zostaje zaakceptowany. I zmiana elementu accept jest najlepszym sposobem, bo to tez mozna zedytowac w czasie rzeczywistym.
kamil4u
22.10.2011, 17:05:20
Lepiej zrób tak, że akceptujesz wszystko, a późnij przy wysłaniu formularza/sprawdzaniu ostatecznym danych weryfikujesz czy dany element, może w ogóle być w tym boksie. Bo i tak, ktoś może wyłączyć Twoje zapytanie AJAX i "włożyć co chce".
Czyli:
1.
- tworzysz na początku tablicę w JS(dane z tablicy pochodzą od serwera ), które weryfikują czy możesz przenieść dany obiekt
- przy weryfikacji danych jeszcze raz sprawdzasz
lub
2.
- przy przeciąganiu sprawdzasz czy może być dany element
- przy weryfikacji danych jeszcze raz sprawdzasz
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.