Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> NyssNiceForm, Klasa do obsłuchi formularzy przyjemnych dla oka.
envp
post
Post #1





Grupa: Zarejestrowani
Postów: 359
Pomógł: 1
Dołączył: 16.04.2006
Skąd: Łódź

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


Witam, napisałem sobie składnik do mojego frameworka. Komponent ten tworzy formularze z nietypowym wyglądem (który zaporzyczyłem od badboy'a). W krótce wejdzie do NyssFramework, jako jeden z helperów(?), a póki co jest napisany tak, że może działać samodzielnie. Plik przykładnowy umieszczony jest w katalogu z samą klasą (index.php).

Aby wszystko działało fajnie i pięknie dodajemy na stronie w sekcji head:

  1. <script language="javascript" type="text/javascript" src="js/niceforms.js"></script>
  2. <style type="text/css" media="screen">@import url(css/niceforms-default.css);</style>


Następnie includujemy sobie klase NyssNiceForm

  1. <?php
  2. require_once('niceform.class.php');
  3. ?>


i dalej jak w przykładzie smile.gif

Przykładowy Formularz:
http://envp.ovh.org/NyssNiceForm/

oraz sama klasa do pobrania:

NyssNiceForm_v0.1.tar.gz

Mam nadzieję, że klasa się komuś przyda. Jest jeszcze bardzo 'młoda' i pewnie pełna błędów, ale validator ją zatwierdził, moje oko - też więc... smile.gif

Ps. Zapomniałem dodać, ale może ktoś nie zrozumie (choć wątpie)
Jak dajemy:
  1. <?php
  2. $oNiceForm->addElement($oRadio1,'Radio');
  3. ?>

To drugim parameterm jest namespace, w którym klasa sobie dany lement zapisauje - możemy wpisać co kolwiek.

Jeśli są jakieś pytania to : kamil@linux.pl

Ten post edytował envp 22.10.2006, 11:14:10
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 18)
ikioloak
post
Post #2





Grupa: Zarejestrowani
Postów: 416
Pomógł: 0
Dołączył: 8.01.2004

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


Opera 9.01 linux- nie dzialaja checkboxy i radiobuttony
Go to the top of the page
+Quote Post
envp
post
Post #3





Grupa: Zarejestrowani
Postów: 359
Pomógł: 1
Dołączył: 16.04.2006
Skąd: Łódź

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


Kurde działa, tylko trzeba na labele wcisnąć sad.gif Niestety nie znam sie na js, moze troche poszperam to to przerobie. Korzystałem z Designu badboy'a...
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Kurde nie! Checkboxy/radiobutony maja byc klikalne i kropka smile.gif (razem z labelami)
Przeciez to w samym htmlu da sie zrobic (<label>)


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
envp
post
Post #5





Grupa: Zarejestrowani
Postów: 359
Pomógł: 1
Dołączył: 16.04.2006
Skąd: Łódź

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


No nie za bardzo, ale pokombinuje...

Witam, poprawiłem działanie CheckBox i Radio miłego korzystania, pozdrawiam smile.gif
Go to the top of the page
+Quote Post
Strzałek
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 384
Pomógł: 6
Dołączył: 11.09.2004
Skąd: Grodzisk Mazowiecki

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


Taki mały offtopic.

http://riddle.jogger.pl/2006/10/10/rece-pr...nia-formularzy/


--------------------
Go to the top of the page
+Quote Post
envp
post
Post #7





Grupa: Zarejestrowani
Postów: 359
Pomógł: 1
Dołączył: 16.04.2006
Skąd: Łódź

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


tak, czytałem, klasa jest dla tych, którzy chcą jej używać winksmiley.jpg
Go to the top of the page
+Quote Post
Athlan
post
Post #8





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

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


Słowa krytyki:

No niestety, niceforms zasługują na słowa uznania i krytyki. Ktoś mi kiedyś powiedział "ja się w takie coś nie bawię, bo różne browsery, różnie to widzą". Dopiero teraz zgadzam się z tym w 100 %. Otóż na firefox pola Checkbox i Radio w ogóle nie zmieniają swojego wyglądu, a na IE gubią swoją wysokość i pokazują się "podwójnie" (screen). Podobnie nie podoba mi się pole Select, otóż, wartość pola musi być taka sama jak jego opis - w przycisnym wypadku zostanie źle wyświetlona, gdyusię ją wybierze - dla mnie beznadzieja, zawsze w wawrtośćiach przypisuję ID kategorii a w opisie jej nazwę. Ponadto, jeżeli pole Checkbox zostanie z góry zaznaczone (jest taka opcja w klasie), na IE takowy Checkbox nie otrzymuje obrazka - pusto o.O

Słowa uznania:

Bardzo podoba mi się pole Input text i Textarea. Wpadły mi też w oko bardzo ładne zastosowanie label nad przycistkiem. Jednakże polu Input text brakuje trybu disabled oraz readonly - sam sobie musiałem dopisać tongue.gif Kolejną rzeczą, która mi siępodoba to przycisk submit. Piękny hoover - zakochałem się w nim haha.gif Osobiście używam dwóch komponentów NiceForm'a: przycisku submit i Input text, czasem textarea - pozostałe wymagają dopracowania od strony optymalizacji. Klasy Select używam do wygenerowania zwykłego selecta, podobnie z pozostałymi, których nie wymieniłem.

Moje sugestie:

No na pewno przerobić to uciążliwe pole select, chociaż wiem, że jest trudno, bo JS nie jest w stanie tak łatwo wyciągnąć opisu <option>, tylko jego wartość obj.value, przynajmniej ja o takim czymś nie słyszałem. Dorobić opcję readonly i disabled. Kwestię Radio i Checkboxów pozostawiam do rozpatrzenia. Ogólnie dziękuję za NiceForm'a :* (popracuj nad tym, bo pomysł wypasiony).

Pozdrawiam, Athlan

Ten post edytował Athlan 11.11.2006, 18:33:52


--------------------
Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij pod postem.
Go to the top of the page
+Quote Post
PiotrLegnica
post
Post #9





Grupa: Zarejestrowani
Postów: 71
Pomógł: 2
Dołączył: 6.07.2005
Skąd: Legnica

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


Cytat
No na pewno przerobić to uciążliwe pole select, chociaż wiem, że jest trudno, bo JS nie jest w stanie tak łatwo wyciągnąć opisu <option>, tylko jego wartość obj.value, przynajmniej ja o takim czymś nie słyszałem.

DOM nie gryzie smile.gif
Kod
options[i].getAttribute('value');

zwróci atrybut value, a
Kod
options[i].firstChild.nodeValue;

zawartość tagu (options to tablica z document.getElementsByTagName).


--------------------
SithTemplate
Go to the top of the page
+Quote Post
envp
post
Post #10





Grupa: Zarejestrowani
Postów: 359
Pomógł: 1
Dołączył: 16.04.2006
Skąd: Łódź

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


Na razie zawieszam jakiekolwiek poprawki w tym projekcie na rzecz NyssFramework.
Go to the top of the page
+Quote Post
Athlan
post
Post #11





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

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


Mimo tego nalegam... projekt uważam za bardzo fajny. Ja sie na JS nie znam a chętnie bym pomógł... może ktoś z tego forum się zaangazyje co? Widze, że PiotrLegnica jest w temacie smile.gif

Dodam coś jeszcze:
http://img329.imageshack.us/img329/7206/ni...mserror1dg6.png

Pozdrawiam, Athlan smile.gif


--------------------
Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij pod postem.
Go to the top of the page
+Quote Post
eai
post
Post #12





Grupa: Zarejestrowani
Postów: 367
Pomógł: 10
Dołączył: 20.05.2005

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


Podoba mi się. Ale raczej nie korzystam z takich rzeczy.
Go to the top of the page
+Quote Post
nospor
post
Post #13





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




ogolnie idea fajna, formularze ladnie wygladają, ale...
no wlasnie: poco obudowywac to w klase, skoro ta klasa nic nie wnosi? z tego co wypatrzylem to jest tutaj tylko zwykle walenie html na ekran, ktory potem i tak jest przerabiany przez js i css. rownie dobrze moge walnac takiego html z polami forma, podlaczyc ten js i css i powinno byc git. no chyba ze czegos nie dolukalem smile.gif

Obudowa tego w klasa mialaby sens, jakby tu byla walidacja i wiele innych przydatnych rzeczy, ktore sa w klasach formularzy. Robienie samej klasy tylko po to by dodac pole do forma wydaje mi sie zbednym nadmiarem


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

"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
envp
post
Post #14





Grupa: Zarejestrowani
Postów: 359
Pomógł: 1
Dołączył: 16.04.2006
Skąd: Łódź

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


Chodzi o to, że część pól przerabiana jest przez js na podstawie id więc one muszą być narzucone z góry, poza tym, wygodniej jest budować imho formy tak jak w tym przykładzie, a nie kopiować i wklejać html z css. Tak po krótce to jest tylko automatyzacja czynności copy&paste, która eliminuje pomyłki przy przerabianiu smile.gif Ps. pozatym zostało stworzone na podstawie niceforms badboy'a, które było w pełni statyczne i nie było możliwości zmiany szerokości choćby żadnego elementu bez ingerencji w obrazki czy też js...
Pozdrawiam, Kamil.

Btw. Rzuciłem, bo myślałem ze komus sie przyda.
Go to the top of the page
+Quote Post
nospor
post
Post #15





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




Cytat
Chodzi o to, że część pól przerabiana jest przez js na podstawie id
Klocic sie nie bede bo ja to tylko pobieżnie przejrzalem, ale zauwazylem, ze ty pol nie pobierasz po id, ale po nazwie pola:
document.getElementsByTagName('select');
document.getElementsByTagName('input');
itd.
czyli ze w zasadzie id pola cie nie obchodzi bo i tak lecisz po wszystkich np. selectach a nie po wybranych dodanych z klasy.

Ale jak mowilem ja to tylko pobieznie przegladalem winksmiley.jpg


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

"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
Athlan
post
Post #16





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

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


Cytat
no wlasnie: poco obudowywac to w klase, skoro ta klasa nic nie wnosi?


Nospor, używam NiceForma i powiem... klasa tu jest bardzo ważna. W sumie owszem... możesz się kłócić "po co" ale zapewniem Cię, tak formularz zrobię szybciej od Ciebie i bez żadnych błędów. Oczywiście parę klas musiałem dostosowac do swoich potrzeb, bowiem nie odpowiadały mi smile.gif

Cytat
czyli ze w zasadzie id pola cie nie obchodzi bo i tak lecisz po wszystkich np. selectach a nie po wybranych dodanych z klasy.


Tutaj chodzi o <label for=" hę ? "> smile.gif W NiceForms fajnie są zrobione, dlatego też wielki +

Cytat
Ale jak mowilem ja to tylko pobieznie przegladalem


Takich ludzi lubię... umieją się przyznać tongue.gif , ale fajnie że się wypowiadają, mozna odkryć coś nowego smile.gif

Tak jak mówiłem parę postów wyżej, parę zmian i projekt jest perfekcyjny... głownie właśnie to pola select i rozbieżności graficzne w inpytach (screen posty wyżej). Jakbym umieał DOM'a to bym pomógł, narazie jednak nie chce mi się w niego zagłębiać smile.gif

Pozdrawiam, Athlan smile.gif


--------------------
Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij pod postem.
Go to the top of the page
+Quote Post
nospor
post
Post #17





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




Cytat
Nospor, używam NiceForma i powiem... klasa tu jest bardzo ważna. W sumie owszem... możesz się kłócić "po co"
ale ja sie nie chce klocic, ja wlasnie chcialem sie dowiedziec "po co", bo po przejrzeniu kodu klasy to nie bylo dla mnie tak oczywiste smile.gif

Jakby w tej klasie byla walidacja oraz konkretna obsluga formularzy to by bylo fajnie. a tak co? mam uzywac dwoch klas do jednego formularza? jedna do wygladu druga do obslugi? eeee, nie podoba mi sie to winksmiley.jpg


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

"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
Athlan
post
Post #18





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

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


Cytat
ale ja sie nie chce klocic


echo str_replace('kłócić','pytać','W sumie owszem... możesz się kłócić "po co"');

tongue.gif

Jak wyobrażasz sobię validację? do pola dopuszczamy jakieś znaki (np tylko liczby)... robi to JS czy jak? rozwiń myśl bo mówisz ciekawie...

--EDIT--

bo proszę Ciebie... NyssNiceForm jest wykorzystywany do wyświetlenia formularza a nie przetwarzania danych... warto oddzielić te zadania smile.gif

Ten post edytował Athlan 18.11.2006, 20:19:32


--------------------
Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij pod postem.
Go to the top of the page
+Quote Post
nospor
post
Post #19





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




Cytat
Jak wyobrażasz sobię validację? do pola dopuszczamy jakieś znaki (np tylko liczby)... robi to JS czy jak? rozwiń myśl bo mówisz ciekawie...

A co tu rozwijac. pole moga byc walidowane pod roznym kotem: integer, data, email, puste, nip, wlasne funkcje walidujace.
Walidacja na poziomie js i serwera

Cytat
NyssNiceForm jest wykorzystywany do wyświetlenia formularza a nie przetwarzania danych... warto oddzielić te zadania
tja, czyli jak chce miec dwie funkcjionalanosci: wyglad i obsluga to musze dwa razy wszystko robic?
ale bez obaw, ja do wygladu uzywam css, a do obslugi wlasnej klasy winksmiley.jpg


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

"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

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 Aktualny czas: 22.08.2025 - 07:55