Selektor koloru w formularzu

Często w formularzach chcemy mieć pole pozwalające podać wartość koloru. Pewnie są tacy co potrafią z pamięci podać szesnastkową wartość niejednego koloru, ale przeciętny użytkownik Internetu na pewno nie posiada takiej umiejętności, a poza tym wpisywanie kodów z klawiatury jest niezbyt wygodne. Z pomocą przychodzi selektor koloru dołączony do formularza.

Tworze właśnie dla klienta konwerter, pozwalający stworzyć plik pdf na podstawie danych z cvs. Po drodze klient chce mieć możliwość sparametryzowania kolorów i krojów czcionek jakie mają być w pdf użyte. No jest tego sporo i tym bardziej selektor koloru ułatwi pracę. Nie musiałam długo szukać, żeby natknąć się na przyjemne i proste w użyciu narzędzie jakim jest dodatek do jQuery o wdzięcznej nazwie miniColors.

Zatem po kolei. Jeśli nie mamy pobieramy sobie skrypt jQuery ze strony projektu http://jquery.com/. Następnie pobieramy sobie plugin z github. Umieszczamy te pliki w podkatalogu js i przystępujemy do działania.

W nagłówku naszego dokumentu html dodajemy stosowne skrypty:

<script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="js/miniColors/jquery.miniColors.js"></script>
<link type="text/css" rel="stylesheet" href="js/miniColors/jquery.miniColors.css" />		
<script type="text/javascript" src="js/colorSelectors.js"></script>

Ostatni skrypt będzie zawierał kod wiążący selektor koloru z odpowiednim polem formularza.

Załóżmy więc, że w formularzu mamy pole do wpisywania koloru:

<label for="color">kolor:</label><input type="input" name="color" value="#000000" id="color" />

Wystarczy więc w skrypcie colorSelectors.js umieścić następujący kod:

$(document).ready( 
      function() {
	  $("#color").miniColors();	
});

I można się już cieszyć efektem. Obok pola służącego do wpisywania kodu koloru (ciągle można to zrobić ręcznie) pojawia się dodatkowy kwadracik o barwie odpowiadającej aktualnie wpisanemu kodowi. Po kliknięciu myszką na pole formularza lub na ten kwadracik pojawia się bardzo zgrabny selektor koloru:
miniColor

To najprostsze użycie tego pluginu, ale ma on jeszcze trochę możliwości, których na razie nie zgłębiłam. Polecam samodzielne studia. Sama może będę kiedyś wykorzystam jego bardziej zaawansowane właściwości.

4 komentarze do wpisu „Selektor koloru w formularzu”

  1. Rzeczywiście sknociłam. Na ogól mi się to nie zdarza, bo pozwalam edytorowi zwracać uwagę na ortografię, ale tym razem mnie zawiódł. Jak to nie można wierzyć durnym maszynom..

  2. A ja bym se skorzystał z graceful degradation. W HTML 5 mamy input[type=color] i AFAIR chrome i Opera już to wspierają. Czemu nie pozwolić przeglądarkom natywnie obsłużyć tego pola, a dopiero reszcie zaserwować JS choćby przez yepnope?

  3. Po pierwsze jeszcze się nie przekonałam do HTML5. Po drugie za dużo klikania. Za każdym razem trzeba zamknąć okienko. Fuj. I takie toto niezgrabne, kolubryniaste. Łeee.

Leave a Reply

%d bloggers like this: