Xinha 0.95 – problem z wysyłaniem danych formularza
Opublikowano: 04.11.2008 | Kategoria: Internet, Programowanie | Tagi: javascript, xinha | Brak komentarzy »Nie sądziłem, że na taką “pierdołę” stracę ponad 4 godziny. Z różnych przyczyn i nowych założeń, musiałem w pewnym projekcie zmienić javascriptowy edytor WYSIWYG. Dotychczas “najprzyjemniejszy” wydawał mi się TinyMCE. Spora ilość pluginów, praktycznie brak różnic w przeglądarkach. Posiada kilka niedociągnięć i drobnych błędów, ale jest użyteczny i używalny – nie spotkałem jeszcze edytora doskonałego.
Zmiana edytora wynikła głównie z potrzeby wykorzystania bardziej zaawansowanego uploadera plików, z możliwością zarządzania folderami i plikami na serwerze. Do TinyMCE jest w tym celu wykorzystywany płatny plugin MCFileManager, a ja w miarę możliwości szukałem czegoś “otwartego”. Przypomniałem sobie o edytorze Xinha, z którego gdzieś tam kiedyś korzystałem.
Miłe zaskoczenie. Wszystko na dzień dobry w języku polskim – wystarczy zmienić wartość zmiennej podczas konfiguracji. Dokumentacja może nie jest zbyt rozbudowana, ale wystarczająca do pierwszego odpalenia. To co najbardziej mnie zainteresowało, to funkcje do prostej obróbki plików graficznych – skalowanie, przycinanie (crop), obracanie. Zmodyfikowany plik możemy zapisać w innym formacie graficznym i w innej jakości – super. Ponadto wygodne zarządzanie plikami na serwerze – można tworzyć nowe foldery, usuwać i edytować stare, modyfikować pliki graficzne wcześniej wgrane.
Oczywiście nie mogło się obyć bez problemów przy “wkładaniu” edytora do projektu. Otóż problem okazał się wynikać z tak prozaicznej przyczyny, że był dość trudny do wykrycia i usunięcia. Zatem używając Xinha, nigdy nie wkładaj formularza do tabelki. Rób odwrotnie – wkładaj tabelkę do formularza.
Tak jest ŹLE:
<table> <form> <tr> <td><input type="text" name="jakies_pole"/></td> </tr> </form> </table>
Tak jest DOBRZE:
<form> <table> <tr> <td><input type="text" name="jakies_pole"/></td> </tr> </table> </form>
Banał, ale można stracić na niego sporo czasu.