![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 139 Pomógł: 0 Dołączył: 2.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Używam bootstrap od twittera. Bardzo przyjemny framework. Ale mam pewien problem. Jak zrobić aby błędy w trakcie wypełniania formularza nie były pokazywane bezpośrednio pod polem ale gdzieś indziej ? Bo jak pokazuje się przy polu to mi się formularz rozjeżdża. przykład http://alittlecode.com/files/jQuery-Validate-Demo/ proszę wpisać złego emaila i zobaczycie o co mi chodzi. błąd pokazuje się pod polem a ja chcę go przesunąć gdzieś w prawo np. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 283 Pomógł: 31 Dołączył: 10.01.2006 Skąd: Działoszyn Ostrzeżenie: (0%) ![]() ![]() |
Poprawić style:
label.error, label.success itd. oraz .control-group.error input .control-group.success input itd. wszystkim dopisz
Ten post edytował Michasko 27.01.2013, 19:48:38 -------------------- Po prawie 3-letniej przerwie w programowaniu, znowu raczkuję :) |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 139 Pomógł: 0 Dołączył: 2.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
Poprawić style: label.error, label.success itd. oraz .control-group.error input .control-group.success input itd. wszystkim dopisz
nie do końca o to mi chodzi. jak mam float do lewej to komunikaty i tak są poniżej pol a mi chodzi o to aby te komunikaty w ogóle gdzieś indziej przesunać poza diva w którym są zrobić im jakieś jedno miesce z divem gdzie będą się wyświetlać. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 36 Dołączył: 1.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 139 Pomógł: 0 Dołączył: 2.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem jak to działa w tym frameworku, ale na dobrą sprawę możesz wyświetlić komunikat, w którym divie chcesz.
nie działa. jeśli chcesz sprawdzić o co mi chodzi to wejdz na ta strone http://alittlecode.com/files/jQuery-Validate-Demo/ i podaj zly email i zobaczysz komunikat pod polem i to wlasnie chcialbym wywalic i umiescic gdzies indziej |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 283 Pomógł: 31 Dołączył: 10.01.2006 Skąd: Działoszyn Ostrzeżenie: (0%) ![]() ![]() |
To, co Ci powiedziałem, przesunie komunikat na prawo od pola (tak jak napisałeś w pierwszym poście - "gdzieś w prawo np.") -> SCREEN
Jeśli chcesz umieszczać sobie je gdzieś indziej, to wejdź tutaj: http://docs.jquery.com/Plugins/Validation/validate i poszukaj o opcji 'errorPlacement'. Jak zauważysz, na zmiennej 'error' jest tam używana metoda 'insertAfter' - zamień ją na coś innego, co umieści ten błąd np. w wybranym przez Ciebie DIV-ie:
Ten post edytował Michasko 28.01.2013, 14:49:20 -------------------- Po prawie 3-letniej przerwie w programowaniu, znowu raczkuję :) |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 139 Pomógł: 0 Dołączył: 2.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
To, co Ci powiedziałem, przesunie komunikat na prawo od pola (tak jak napisałeś w pierwszym poście - "gdzieś w prawo np.") -> SCREEN Jeśli chcesz umieszczać sobie je gdzieś indziej, to wejdź tutaj: http://docs.jquery.com/Plugins/Validation/validate i poszukaj o opcji 'errorPlacement'. Jak zauważysz, na zmiennej 'error' jest tam używana metoda 'insertAfter' - zamień ją na coś innego, co umieści ten błąd np. w wybranym przez Ciebie DIV-ie:
powyższy kod nie działa ![]() [edit] ale poniższy tak ![]() UWAGA UWAGA ![]() PANIE I PANOWIE ZNALAZŁEM ROZWIĄZANIE KTÓRE MOŻE POSŁUŻYĆ KAŻDEMU. męczyłem się 3 dni ale warto było bo w końcu się udało. Oto rozwiązanie JAK PRZENIEŚĆ BŁĘDY JavaScript DO WYBRANEGO PRZEZ SIEBIE DIVA GDZIEKOLWIEK NA STRONĘ. Coś podobnego na wzór errorPlacement ale to na 100% działa, a errorPlacement nie zawsze. Po 1. W pliku php w kórym mamy formularz przerabiamy swój kod formularza na wzór tego czy inaczej mówiąc przekształcamy swój formularz podobnie do tego:
Po 2. Tworzymy nowy plik JavaScript lub w istniejącym już pliku JavaScript który oczywiście musi być podpięty do wyżej używanego pliku php zwykłym kodem (pomiędzy sekcjami <head> a </head>) typu: (ścieżkę oczywiście proszę zmienić według swojej lokalizacji pliku) umieszczamy taki magiczny kod:
całą rolę odgrywa tutaj funkcja errorLabelContainer: "div#labelErrors", która odpowiada za przenoszenie errorów do wskazanego diva. Ja swój div w którym chcę umieszczać błędy nazwałem labelErrors. Po 3. Musimy określić style czyli gdzie i jak mają się pokazywać nasze errory z formularza. W pliku PHP z punktu powyżej <head> 1 dodajemy linijkę ze ścieżką do pliku style np. <link href="aplikacja/formularz/style.css" rel="stylesheet">
co do tego kodu to oczywiście kolory, fonty, padding czy marginesy mozna zmienić według uznania. co do pozostałych wartości to takie zalecam ze względu na to że próbowałem bardzo wielu kombinacji i ta okazała się strzałem w 10. Np. jeśli byłoby kilka błędów to na stronie w tym divie w którym mają się one pokazywać zobaczymy jeden bład a pozostałe są w tle niewidoczne. Jak uzytkownik poprawi blednie wypelnione pole to wskoczy automatycznie kolejny błąd jeśli taki jest. Więc jest czysto i spójnie ![]() Po 4. W pliku PHP z punktu 1 w którym mamy formularz (już przerobiony) dodajemy div id w takim miejscu gdzie chcemy aby błędy się pokazywały. W moim przypadku to Po 5. Otworzyć ulubiony napój i delektować się świętym spokojem, że błędy pokażą się tam gdzie chcemy a nie albo pod polem input albo obok niego. Dziękuję, że mogłem dołożyć swój wkład dla społeczności PHP. Ten post edytował Maker5 30.01.2013, 00:26:32 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 07:07 |