FORM 내에서 DIV를 사용하는 것이 맞습니까?


86

FORM-tag 내부의 DIV-tag에 대해 어떻게 생각하고 있는지 궁금합니다.

다음과 같은 것이 필요합니다.

<form>
  <input type="text"/>
  <div> some </div>
  <div> another </div>
  <input type="text" />
</form>

DIV내부 에서 사용하는 것이 일반적인 관행 FORM입니까 아니면 다른 것이 필요합니까?

답변:


133

완전히 괜찮아요.

form(도 ~ 만 입력 유형 컨트롤을 제출 Textarea, Select등).

div내 에서 걱정할 필요가 없습니다 form.


2
div 내부에서 양식을 사용하는 것은 어떻습니까?
Kick Buttowski

1
@KickButtowski div 내부의 양식은 전혀 문제가되지 않습니다. HTML 유효성 검사기에서 직접 시도 할 수 있습니다. 게다가 현대 페이지는 div를 기반으로하므로 요즘은 거의 불가피합니다. 허용되지 않는 경우 간단한 래퍼 또는 양식을 컨테이너에 배치하면 페이지가 이미 유효하지 않게됩니다.
Nrzonline

폼 검증은 내가 형태로 내부의 div의 추가 이후 나를 위해 작동이 중지되었습니다
Suhas을

28

<form>태그 내에서 DIV를 사용하는 것은 완전히 허용됩니다 .

당신은 기본 보면 CSS 2.1 스타일 시트 , divp에 모두 display: block범주입니다. 그런 다음 양식 요소에 대한 HTML 4.01 사양을 살펴보면 <p>태그뿐만 아니라 <table>태그도 포함되므로 <div>동일한 기준을 충족 할 것입니다. <legend>문서의 양식 안에 태그 도 있습니다.

예를 들어 다음은 엄격 모드에서 HTML4 유효성 검사를 통과합니다.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Test</title>
</head>
<body>
<form id="test" action="test.php">
<div>
  Test: <input name="blah" value="test" type="text">
</div>
</form>
</body>
</html>

11

<div>양식 내에서를 사용할 수 있습니다 -거기에는 문제가 없습니다 .... 하지만 dont에 <div>대한 레이블로 를 사용하려는 경우 input... label훨씬 더 나은 옵션입니다.

<label for="myInput">My Label</label> 
<input type="textbox" name="MyInput" value="" />

3

<input>을 <form>의 직계 자식으로 갖는 것은 잘못되었습니다.

그런데 <input / >은 일부 doctype에서 실패 할 수 있습니다.

http://validator.w3.org/check로 확인하십시오.


문서 유형은 여기에 "INPUT"요소를 허용하지 않습니다. "P", "H1", "H2", "H3", "H4", "H5", "H6", "PRE", "DIV", "ADDRESS"시작 태그 중 하나 누락

<input type = "text"/>

언급 된 요소는 배치 한 컨텍스트에 표시 할 수 없습니다. 언급 된 다른 요소는 둘 다 허용되며 언급 된 요소를 포함 할 수있는 유일한 요소입니다. 이는 포함하는 요소가 필요하거나 이전 요소를 닫는 것을 잊었 음을 의미 할 수 있습니다.

이 메시지의 한 가지 가능한 원인은 블록 수준 요소 (예 : "<p>"또는 "<table>")를 인라인 요소 (예 : "<a>", "<span>)에 넣으려고 시도했기 때문입니다. "또는"<font> ").


3

귀하의 질문은 DIV 태그에 입력하려는 내용을 다루지 않으므로 아마도 불완전하거나 잘못된 답변을받은 이유 일 것입니다. 진실은 Royi가 말했듯이 양식 내부에 DIV 태그를 넣을 수 있다는 것입니다. 예를 들어 레이블에 대해이 작업을 수행하고 싶지 않지만 세 개의 열에 배치하려는 여러 확인란이있는 양식이있는 경우 반드시 DIV 태그 (또는 SPAN, HEADER 등)를 사용하십시오. .) 달성하려는 모양과 느낌을 완성합니다.


3

정의 및 사용법

태그는 HTML 문서의 부분 또는 섹션을 정의합니다.

태그는 블록 요소를 그룹화하여 스타일로 형식을 지정하는 데 사용됩니다. http://www.w3schools.com/tags/tag_div.asp

또한 DIV-MDN

HTML 요소 (또는 HTML 문서 분할 요소)는 본질적으로 아무것도 나타내지 않는 플로우 콘텐츠의 일반 컨테이너입니다. 스타일링 목적 (class 또는 id 속성 사용)을 위해 또는 lang과 같은 속성 값을 공유하기 때문에 요소를 그룹화하는 데 사용할 수 있습니다. 다른 의미 요소 (예 : 또는)가 적절하지 않은 경우에만 사용해야합니다.

테이블 대신 div를 사용하는 것에 대해 이야기하는 경우 양식 내부에서 div를 사용할 수 있으며 테이블리스 웹 디자인에 대해 Google


3
정말? w3schools 참조?
아도니스 K. Kakoulidis

2
@AdonisK., 나는 왜 w3schools에 대한 언급을 포함하지 말아야하는지에 대해 모두 알고 있지만, 그것이 반대표를받을 가치가 없다고 생각합니다. Meta : meta.stackexchange.com/questions/120025/… 에서이 토론을 보길 요청합니다. 또한 MDN에서 DIV의 참조를 업데이트했습니다
Habib

1

다른 사람들이 말했듯이 모든 것이 좋습니다. 잘 할 수 있습니다. 개인적으로 저는 div가장 바깥쪽에있는 상위 요소 인 요소와 함께 계층 구조의 한 형태를 유지하려고합니다 . 난 단지 사용하려고 table p ulspan형태의 내부. 웹 페이지 에서 부모 / 자녀 관계를 더 쉽게 추적 할 수 있습니다.


0

div 내에서 양식 태그를 시작할 때마다 이후의 div 형제는 나중에 검사 (크롬 검사) 할 때 양식의 일부가되지 않으므로 양식을 제출하지 않습니다.

<div>
<form>
<input name='1st input'/>
</div>
<div>
<input name='2nd input'/>
</div>
<input type='submit'/>
</form>

DIV 외부에 양식 태그를 넣으면 작동한다고 생각했습니다. 양식 태그는 상위 DIV의 시작 부분에 배치되어야합니다. 아래와 같이.

<form>
<div>
<input name='1st input'/>
</div>
<div>
<input name='2nd input'/>
</div>
<input type='submit'/>
</form>

-5

절대적으로하지! 렌더링되지만 유효성이 검사되지는 않습니다. 라벨을 사용하세요.

정확하지 않습니다. 액세스 할 수 없습니다. 일부 개발자는 게으 르기 때문에 일부 웹 사이트에서 볼 수 있습니다. 개발자를 고용 할 때 후보자 작업에서 가장 먼저 확인하는 사항 중 하나입니다. 양식은 지저분하지만 시간을내어 올바르게 수행하는 방법을 배웁니다.


-8

아니, 아니야

<div>태그는 웹 레이아웃을 만들기 위해 항상 남용됩니다. 상징적 인 목적은 페이지에서 섹션 / 부분을 분할하여 별도의 스타일을 추가하거나 적용 할 수 있도록하는 것입니다. [w3schools 문서] [W3C]

그것은 당신 someanother가지고 있는 것에 크게 의존합니다 .

HTML5에는 일반 레이아웃 태그가 아닌 더 논리적 의미 태그가 있습니다. section, header, nav, aside모든 것을 자신의 의미 론적 의미 그것에 있습니다. 그리고 반대에 사용됩니다<div>


1
나는 동의하는 경향이 있습니다. html에서 할 있는 일 이 많이 있습니다 . 그러나 이러한 느슨한 지침 때문에 우리는 해킹으로 가득 찬 코드를 사용하여 표로 된 웹 레이아웃의 엉망을 파헤칩니다. 웹이 성장할 수있는 유일한 방법은 제시된 새로운 지침을 계속 따르는 것입니다.
JT 스미스

글쎄, 나는 웹 페이지에 약간의 영역이 필요합니다. 사용자는이 영역을 클릭하고 양식 입력에 값을 설정합니다. 이 경우에 적합한 HTML 요소는 무엇입니까?
demas

1
@demas, 당신의 해상력의 사용에 대한 <select>선택이되지 않을 경우, 주어진 경우에 맞는 완벽한 <a>또는 <buttons>좋다.
Starx 2012 년

27
-1 당신은 완전히 틀 렸습니다. 모든 큰 사이트는 양식 내에서 div를 사용합니다. 당신은 질문과 관련이없는 html 5 예제를 제공했습니다. 형태 내에 div가없는 하나의 큰 사이트를 보여주세요. 그리고 확인하지 않고 답변 throuws이 사이트에서 여기 사람들은 다른 사용자에게 오해
Royi Namir

4
무언가를 빌드하지 않는 방법은 일반적으로 엔터프라이즈 코드가 어떻게했는지 살펴 보는 것입니다. 텍스트를 포함하기 위해 해당 div를 사용하는 경우 텍스트가 양식 컨트롤에 적용되는 경우 레이블을 사용하십시오. 그렇지 않은 경우 p를 사용하십시오. 의미론이 중요합니다. 접근성이 중요합니다.
albert
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.