Jest dobrze uformowany bez a?

Czy ważne jest, aby <input> nie było w <form>?

Mają proces oznaczania niektórych pól na stronach i właśnie znalazłem stronę z polami wejściowymi, które nie są oznaczone tak, jak oczekiwałem.
Zajęło mi to trochę czasu, ale okazało się, że proces uzyskiwania elementów formularza, a następnie uzyskiwania pól, spowodował, że zostały one pominięte, ponieważ nie ma formularza.

Author: aksu, 2010-07-21

5 answers

<input> Bez <form> wygląda na poprawne, tak (przynajmniej dla html 4.01, spójrz pod koniec 17.2.1):

Elementy używane do tworzenia kontrolek zazwyczaj pojawiają się wewnątrz formularza element, ale może również pojawić się na zewnątrz deklaracji elementu formularza, gdy służą do budowania użytkowników interfejsy. Jest to omówione w sekcja o zdarzeniach wewnętrznych. Zauważ, że kontroli poza formularzem nie można udane sterowanie.

 175
Author: ChristopheD,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-07-20 21:43:50

Sprawdzałem następujące dane za pomocą walidatora W3C i potwierdza to, że jest to poprawne.

<!DOCTYPE html>
<html>
<head>
  <title>test</title>
</head>
<body>
  <input type='text' />
</body>
</html>
 59
Author: Wai Yip Tung,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-01 23:14:51

Tak, możesz mieć poprawne dane wejściowe bez formularza.

 0
Author: heisenberg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-07-20 21:42:50

Według MDN jest to możliwe:

Zauważ, że zawsze można użyć widżetu formularza poza elementem, ale jeśli to zrobisz, ten widżet formularza nie ma nic wspólnego z żadnym formularzem. Takie widżety mogą być używane poza formularzem, ale wtedy powinieneś mieć specjalny plan dla takich widżetów, ponieważ same nic nie zrobią. Będziesz musiał dostosować ich zachowanie za pomocą JavaScript.

HTML5 wprowadza atrybut formularza na elementach formularza HTML. Powinno pozwolić jawnie wiążesz element z formularzem, nawet jeśli nie jest on zamknięty w formularzu. Niestety, na razie implementacja tej funkcji w przeglądarkach nie jest jeszcze wystarczająco dobra, aby na niej polegać.

 -1
Author: Adnan Faradhi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-19 01:09:25

Jasne, użyj

document.getElementById('your_input_id').validity.valid

Dynamiczne sprawdzanie poprawności pola.

 -8
Author: taran,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-21 10:37:36