2011-02-04 10 views

Odpowiedz

23

Wymagane pola wyboru nie są niczym niezwykłym. Praktycznie każdy formularz rejestracyjny korzysta z pola wyboru "Przeczytałem i akceptuję Umowę użytkownika".

Jeśli masz Opera pod ręką wypróbuj poniższy kod. Formularz nie zostanie przesłany, chyba że zaznaczono pole wyboru.

<!doctype html> 
 
<html> 
 

 
<head> 
 
    <title>html5</title> 
 
</head> 
 

 
<body> 
 
    <h1>html5 test</h1> 
 
    <form action="/"> 
 
    <input type="checkbox" required="required" id="cb" name="cb"> 
 
    <label for="cb">required checkbox</label> 
 
    <input type="submit"> 
 
    </form> 
 
</body> 
 

 
</html>

+3

+1: bardzo ważny punkt! jak to przegapiłem? – naveen

+17

Nie potrzebujesz 'required =" required "', wystarczy dodać 'required'. – Ben

+14

'required =" required "' jest poprawny XHTML. Atrybut musi mieć wartość. – leggetter

7

Do wyboru, najlepszym sposobem jest prawdopodobnie by go wstępnie wybrać i ustawić go do osób niepełnosprawnych. Żartuję.

Aby wybrać jeden przycisk opcji w grupie, należy wybrać opcję domyślną lub sprawdzić poprawność za pomocą javascript. Nie ma na to sposobu HTML, ponieważ każdy możliwy wybór jest prawidłowy.

W html5 istnieje atrybut required dla pól wyboru.

Są one jakoś dziwne, więc pozwólcie, że zacytuję coś, aby wyjaśnić, jak działają.

Dla pól wyboru wymagany atrybut musi być spełniony tylko wtedy, gdy zaznaczone jest jedno lub więcej pól wyboru o tej nazwie w tym formularzu.

Dla przycisków radiowych wymagany atrybut musi być spełniony tylko wtedy, gdy zaznaczony jest dokładnie jeden z przycisków radiowych w tej grupie radiowej.

Oczywiście zawsze musisz zweryfikować stronę serwera, ponieważ klient zawsze może wysłać ci wszystko, czego zapragnie. Po prostu skorzystaj z tych metod, aby poprawić komfort użytkowania.

+0

+1 za zgadnięcia. bardzo mało prawdopodobne, chyba że przedstawisz silniejszy argument :) – naveen

+0

co zgaduje? właśnie zaktualizowałem odpowiedź zgodnie z html5 sepcs –

+1

+1 specyfikacje są jasne, ale to wciąż * dziwne *. Nie ma sensu z punktu widzenia interfejsu użytkownika. –

0

prostu próbowałem go na przycisku radiowego w Firefoksie 4. Dodawanie required do jednego wejścia radia, a następnie złożenie przed wyborem jednego, wyzwala „Wybierz jedną z poniższych opcji” podpowiedź.

E.g. to działa:

<input type="radio" name="gender" value="m" required /> 
<input type="radio" name="gender" value="f" /> 
+0

Chrome 12 robi to samo. Safari 5 i IE 9 nie. Testowane na Win7. –

7

Testowałem wymagane atrybut dla przycisków radiowych dzisiaj na Firefox 17.0.1 na XP SP2.

Wygląda na to, że jest zgodny ze specyfikacją wymagany atrybut dla przycisków/grup radiowych. Firefox wyświetla komunikat "Wybierz jedną z tych opcji". dla obu fragmentów kodu poniżej:

Albo ustawić wymagane atrybut dla każdego z przycisków radiowych

<input type="radio" name="gender" value="male" required="required" /> 
<input type="radio" name="gender" value="female" required="required" /> 

lub jednego z elementów radiowych

<input type="radio" name="color" value="blue" /> 
<input type="radio" name="color" value="red" required="required" /> 
<input type="radio" name="color" value="green" /> 

Wszelkie komentarze i aktualizacje są mile widziane.

+2

Link do specyfikacji: http://www.w3.org/TR/html-markup/input.radio.html#input.radio.attrs.required Czy każdy może znaleźć odniesienie wskazujące, który z tych dwóch stylów jest preferowany dla oznaczanie grupy przycisków radiowych zgodnie z wymaganiami? Nigdzie nie mogę tego znaleźć. – Grilse

+0

dziękuję @Grilse za referencyjny adres URL witryny w3.org –

Powiązane problemy