: Home / HTML / CSS / artykuły / Label w formularzu - nieszanowany standard
Label w formularzu - nieszanowany standard
Ocena użytkowników: / 1
SłabyŚwietny 
Wpisany przez Patryk yarpo Jar   
poniedziałek, 06 września 2010 18:21

Czy nie zdarzyło Ci się kilkukrotnie klikać, aby zaznaczyć jakieś pole radio lub checkboksa? Mi tak. Czy nie pomyślałeś wtedy, że powinno można klikać w opis takiego pola formularza by je zaznaczyć, a nie tylko li w samą kontrolkę? Mi też się tak wydaje. I... Uwaga! Można to zrobić. O tym, jak w dalszej części artykułu.

 

Na początek prosty kod

01.<html>
02.<head>
03.    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
04.</head>
05.<body>
06.    <form action="#">
07.        <input type="radio" name="example" value="1" /> Zgadzam się
08. 
09.        <input type="radio" name="example" value="0" /> Nie zgadzam się
10. 
11.    </form>
12.</body>
13.</html>

Powyższy kod daje taki efekt:

Co nie tak?

Trzeba celować w małą kontrolkę, mimo że przecież klikają w opis takzę jednoznacznie wyrażamy swoją opinię.

<label /> na ratunek

Aby zlikwidować problem, o którym mówiłem wcześniej starczy użyć znacznika

01.<html>
02.<head>
03.    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
04.</head>
05.<body>
06.    <form action="#">
07.        <label><input type="radio" name="example" value="1" /> Zgadzam się</label>
08.        <label><input type="radio" name="example" value="0" /> Nie zgadzam się</label>
09.    </form>
10.</body>
11.</html>

Powyższy kod daje taki rezultat

Atrybut for

Czasem zdarza się - np. kiedy formularz jest zbudowany w oparciu o tabelę - że nie da się objąć elementu w znacznik <label/>. Można jednak wtedy użyć atrybutu for:

01.<html>
02.<head>
03.    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
04.</head>
05.<body>
06.    <form action="#">
07.        <input type="radio" name="example" id="example_1" value="1" /> <label for="example_1">Zgadzam się</label>
08.        <label><input type="radio" name="example" value="0" /> Nie zgadzam się</label>
09.    </form>
10.</body>
11.</html>

 

Miłego naprawiania swoich dotychczasowych formularzy.

Zobacz podobne artykuły

 

Dodaj komentarz

Zostało: 1000 symboli


Kod antysapmowy
Odśwież