Kamil
Kowal
Student,
Politechnika
Wrocławska
- 1
- 2
konto usunięte
Temat: Nietypowe pole formularza
Jak dla mnie to wyrenderować to możesz za pomocą prostej tabelki, a zaznaczanie, zbieranie wartości oraz ewentualną walidację za pomocą js/jQuery.
Przemek
Szalko
iOS Developer + Full
Stack Developer
Temat: Nietypowe pole formularza
Można też wrenderować 7x14 tagów: <label><input type="checkbox" /></label>Ostylować tak żeby układały się jak na rysunku i tag <label> miał rozmiar jak komórka. Wtedy klikając w label od razu zaznacza Ci się pole.
konto usunięte
Temat: Nietypowe pole formularza
Przemek Szalko:> type="checkbox" /></label>
Można też wrenderować 7x14 tagów: <label><input
http://riddle.jogger.pl/2006/10/10/rece-precz-od-stylo...
Ostylować tak żeby układały się jak na rysunku i tag <label> miał rozmiar jak komórka. Wtedy klikając w label od razu zaznacza Ci się pole.
;)
pomysł z tabelką jest dobry
konto usunięte
Temat: Nietypowe pole formularza
Input może być ukryty (i tak zostanie przekazany w formularzu), więc nie trzeba go w ogóle stylować, jedynie otaczający go label.Michał Ławicki dostawca zadowolenia
Temat: Nietypowe pole formularza
Kamil Brenk:Starszego postu już chyba nie dało się znaleźć :) Trochę JS i wszystko można stylować :)
http://riddle.jogger.pl/2006/10/10/rece-precz-od-stylo...
;)
konto usunięte
Temat: Nietypowe pole formularza
Przy pomocy JS można podmieniać wygląd elementów formularzy i to jest ok, ale samych formularzy nie styluje się i jest to dogmat jak dla mnie, więc popieram post Kamila.Tomasz Zadora programuję
Temat: Nietypowe pole formularza
Dodam tylko, że dane można wysłać przez JSON "POST-em".Czyli generujemy dwie tablice:
- jedna to HTML gdzie każdy TD ma id z jakimś prefiksem (np. "clr_" i mamy "clr_32_96", "clr_32_128", etc.) i jest określonej klasy albo ma odpowiedni atrybut rel
- druga to tablica JS
przechwycenie zdarzenia onclick na elementach td (selector przez class lub rel) które spowoduje zmianę koloru on/off i odpowiednią zmianę wartości w tablic js.
Później już tylko odpowiedni przycisk "wyślij" który wyśle dane JSONEM lub ewentualnie przekaże te dane do jakiegoś ukrytego pola formularza i później wyśle cały formularz.
Przemek
Szalko
iOS Developer + Full
Stack Developer
Temat: Nietypowe pole formularza
Panowie Kamilowie ;)Proszę przeczytać post Riddle ze zrozumieniem. Riddle odnosi się do skryptów JS'owych które podmieniają domyślne elementy formularza na ich wyrenderowane, przebajerowane, htmlowe odpowiedniki.
W tym przypadku input to jest natywny element przeglądarki, dodając do tego label zwiększamy obszar w który może kliknąć użytkownik (nie musi celować w malutki inpucik). Ostylowanie sprowadza się dododania width+height+float, co działa w każdej przeglądarce. Zamiast float można te labelki wsadzić też w tabelę.
Dla maksymalnego upodobnienia formularza do projektu można jeszcze ukryć inputy (display:none).
Nie wciskajcie nikomu tutaj, że to jest nieużyteczne. Taki formularz nie rozsypie się nigdzie, przy odpowiednim oetykietowaniu labelek jest do wypełnienia nawet w przeglądarce tekstowej.
Najlepsze jest to że formularz działa bez linijki javascriptu.
konto usunięte
Temat: Nietypowe pole formularza
Dokładnie tak zrozumiałem i podzielam Twój post. O js pisałem odnosząc się do pozostałych pomysłów :)konto usunięte
Temat: Nietypowe pole formularza
Przemek, masz rację ;) Rano byłem jeszcze pijany (juwenalia), więc po prostu źle zrozumiałem :DTomasz Zadora:http://dev.w3.org/html5/spec/elements.html#embedding-c... ;)
przechwycenie zdarzenia onclick na elementach td (selector przez class lub rel)
Wojciech Małota Programista
Temat: Nietypowe pole formularza
Przemek Szalko:
Najlepsze jest to że formularz działa bez linijki javascriptu.
A zmiana koloru zaznaczonej labelki? ;-)
konto usunięte
Temat: Nietypowe pole formularza
Wojciech Małota:
A zmiana koloru zaznaczonej labelki? ;-)
To myślę że dałoby się zrobić jakoś z pseudoklasą :checked dla inputa wewnątrz labela, ale teraz tylko fantazjuję, nie testowałem.
konto usunięte
Temat: Nietypowe pole formularza
Kamil Borkowski:dałoby radę z :target - do każdego labela dodać link ustawiający kotwicę ;)
Wojciech Małota:
A zmiana koloru zaznaczonej labelki? ;-)
To myślę że dałoby się zrobić jakoś z pseudoklasą :checked dla inputa wewnątrz labela, ale teraz tylko fantazjuję, nie testowałem.
Tomasz Zadora programuję
Temat: Nietypowe pole formularza
Kamil Brenk:[...]
http://dev.w3.org/html5/spec/elements.html#embedding-c... ;)
No fajne... zawsze lepiej zastąpić JS, CSS-em - i "data-" to jest na pewno o wiele lepszy sposób przechowywania różnych rzeczy powiązanych z elementami DOM niż triki z id :)
Trzeba tylko jeszcze trochę poczekać aż HTML5 w pełni stanie się standardem w przeglądarkach w tym sensie, że wszystkie wersje przeglądarek używane przez większość użytkowników będą implementować w taki sam sposób większość standardu HTML5.
konto usunięte
Temat: Nietypowe pole formularza
Tomasz Zadora:Akurat atrybut data-* działa na każdej przeglądarce, więc można spokojnie tego używać ;)
Kamil Brenk:[...]http://dev.w3.org/html5/spec/elements.html#embedding-c... ;)
No fajne... zawsze lepiej zastąpić JS, CSS-em - i "data-" to jest na pewno o wiele lepszy sposób przechowywania różnych rzeczy powiązanych z elementami DOM niż triki z id :)
Trzeba tylko jeszcze trochę poczekać aż HTML5 w pełni stanie się standardem w przeglądarkach w tym sensie, że wszystkie wersje przeglądarek używane przez większość użytkowników będą implementować w taki sam sposób większość standardu HTML5.
Co do rozwoju HTML5 i szybkości implementacji w przeglądarkach, nie do końca się zgodzę. To jak szybko dane funkcjonalności zostaną wdrożone do przeglądarek (wypierając przy tym starocie) zależy od nas - webdeveloperów. User widząc rozlatują się stronę na swoim ukochanym IE6 wraz z informacją "zmień przeglądarkę na lepszą" zmotywuje się i zainstaluje nowszą przeglądarkę.
Przy poważniejszych projektach oczywiście to nie przejdzie - wtedy stosujemy HTML5 Cross Browser Polyfills i dalej wykorzystujemy nowości z tą niekorzyścią dla staroci, że strona jest bardziej obciążona (co też ich powinno zmotywować do zmian).
Oczywiście to odnosi się głównie do Internetu, bo w korporacyjnych intranetach nie ma opcji na przepisanie oprogramowania na lepsze przeglądarki.
Tomasz Zadora programuję
Temat: Nietypowe pole formularza
Na razie jadę na XHTML, z przesiadką na HTML5 poczekam jeszcze co najmniej rok. Tu jest też kwestia urządzeń przenośnych / androida - wiesz może jak to tam wygląda ?konto usunięte
Temat: Nietypowe pole formularza
Tomasz Zadora:Zależy o co konkretnie pytasz. Jeśli o atrybut data-* to zadziała nawet na IE6; przynajmniej jeśli rozwiążesz to na wzór:
Na razie jadę na XHTML, z przesiadką na HTML5 poczekam jeszcze co najmniej rok. Tu jest też kwestia urządzeń przenośnych / androida - wiesz może jak to tam wygląda ?
var div = document.getElementById("div");
var dupa = div.getAttribute("data-dupa");
Co do reszty CSS3 & HTML5 na mobilach, warto dodać do czytnika:
http://www.quirksmode.org/blog/
konto usunięte
Temat: Nietypowe pole formularza
Problem nie problem, w jednym projekcie mamy kalendarz który możesz sobie "pokolorować" np oznaczając jakiś dzień jako ważny itp.1. Robisz sobie div a wewnątrz mały divy z odpowiednimi rozmiarami. Np:
<div id="list">
<div title="294:24"></div>
<div title="88:55"></div>
...
</div>
2. Gdzieś tam wcześniej wybierasz kolor i zapisujesz go do zmiennej JS. Np "var color". Sam kolor można sprawdzić regexpem [0-9a-f]{6} dla przykładu.
3. Później tylko np z użyciem jQuery:
var color = '660000'; // ciemna czerwień, to Twój kolor
$(document).ready(function(){
// Usuwasz kolor z wszystkich elementow jezeli ma byc tylko 1 na raz
$('#list > div').click(function(){
$('#list > div').each(function(index, item){
$(item).css('backgrnound', 'none'); });
});
// Zmieniamy kolor
$(this).css('background', '#'+color);
// Robimy alert ktory podaje rozmiar pola ktory to byl zaszyty w title
alert('POKOLOROWALEM '+$(this).attr('title'));
});
});
Nic nie stoi na przeszkodzie żeby ajaxem taką zmianę puścić gdzieś albo zapisać rozmiar do pola hidden formularza czy cokolwiek innego.
Jeżeli dobrze zrozumiałem intencjeDariusz Półtorak edytował(a) ten post dnia 23.05.11 o godzinie 17:21
Michał Sznurawa Scala Developer
Temat: Nietypowe pole formularza
Ja to dałbym dwa selecty (ew. jakiś slidery). Kolor chyba się gdzieś indziej wybiera, i tylko jedna komórka ma być zaznaczana. Dużo mniej miejsca by to zajmowało i sprowadzone to by zostało do typowego przypadku.- 1
- 2
Podobne tematy
-
PHP » Zabezpieczenie formularza przed proxy -
-
PHP » Problem z wysyłką formularza (POST) -
-
PHP » PHP/SQL - jedno pole czy wiele? -
-
PHP » pole numeric -
-
PHP » Nietypowe przekierowanie 301 -
-
PHP » Ciekawe, nietypowe, innowacyjne klasy czy bibloteki -
-
PHP » Pobieranie danych z formularza -
-
PHP » walidacja formularza -
-
PHP » Pobieranie pola Mail z przycisku odpisz do formularza htm. -
-
PHP » Zapamietanie pól formularza na następną stronę html i... -
Następna dyskusja: