HTML 유효성 검사기 양식 입력 유형에 오류를 제공합니다.
-
20-08-2019 - |
문제
이것은 HTML Validator가 나에게 오류를 제공하는 코드입니다.
<input type="text" id="search" name="keywords" />
<input type="submit" value="Search" name="Submit" />
다음은 HTML Validator의 스크린 샷입니다. (전체 크기):
이것은 내가받는 오류 메시지입니다.
언급 된 요소는 당신이 그것을 배치 한 맥락에서 나타날 수 없습니다. 다른 언급 된 요소는 거기에 허용되고 언급 된 요소를 포함 할 수있는 유일한 요소입니다. 이는 포함 요소가 필요하거나 이전 요소를 닫는 것을 잊어 버린 것을 의미 할 수 있습니다.
HTML 파일 본문에는 인라인 및 블록 요소의 두 가지 유형의 요소가 있습니다. 이 메시지의 한 가지 가능한 원인은 블록 레벨 요소를 넣으려고했기 때문입니다 (예 :u003Cp> " 또는 "u003Ctable> ") 내부 인라인 요소 (예 :" u003Ca>"," u003Cspan>"또는" u003Cfont>") 내부.u003C/font>u003C/span>u003C/a>
다음 샘플에서 u003Cfont>태그는 다른 인라인 태그 만 포함 할 수있는 인라인 태그입니다. 하지만u003C/font>u003Cp> u003Cfont>태그는 블록 태그입니다. 그래서 au003C/font>u003Cp> u003Cfont>태그는 태그에 포함 할 수 없습니다 u003Cfont>.u003C/font>u003C/font>
이것은 HTML의 블록입니다.
<li>
<form method="post" action="http://site.com/" >
<div class='hiddenFields'>
<input type="hidden" name="ACT" value="19" />
<input type="hidden" name="XID" value="90ee0994104d8ba87b6ef9b43e998fc8c89e0d9f" />
<input type="hidden" name="RP" value="search/results" />
<input type="hidden" name="NRP" value="" />
<input type="hidden" name="RES" value="" />
<input type="hidden" name="status" value="" />
<input type="hidden" name="weblog" value="forms|alumni_distinguished|housing_faq|international_faq" />
<input type="hidden" name="search_in" value="everywhere" />
<input type="hidden" name="where" value="all" />
<input type="hidden" name="site_id" value="1" />
</div>
<input type="text" id="search" name="keywords" /> <input type="submit" value="Search" name="Submit" />
</form>
</li>
해결책
html4 / xhtml1에서는 인라인 콘텐츠를 직접 넣을 수 없습니다. form
요소. 반면에 html5는 해당 요구 사항을 들어 올립니다.
따라서 유효성 검사 오류가 당신을 귀찮게한다면 (더 나쁜 것이 있습니다 ...) p
또는 div
마지막 두 가지 주위의 요소 input
에스.
다른 팁
이 유효성 검사기가 어떤 HTML Verion이 검증되는지 언급하지 않았습니다. XTHML이 아니라고 가정하면 입력 태그가 닫히지 않아야합니다. "/>"의 사용은 마감 태그를 제공하고 있음을 의미합니다.
자세한 내용은 : 참조
그러나이 제한은 모든 태그를 닫아야하는 XHTML의 경우에도 유지되지 않습니다. (또는 모든 태그가 닫아야한다는 제한은 XHTML에만 적용된다고 말해야 할 수도 있습니다) ;-)
문제는 입력이 <li>
기본적으로 a 블록 레벨 요소. 이것은 일반적으로 그러한 '텍스트 외'오류의 원인입니다. 페이지가 전혀 해를 끼치지는 않지만 검증을 방지하지 마십시오.
HTML 또는 XHTML을 사용하고 있습니까?
html에서
<input>
태그에는 엔드 태그가 없습니다.xhtml에서
<input>
태그는 올바르게 닫아야합니다.
공급 한 코드 앞에는 깔끔한 인라인 요소가 있습니까? 인라인 요소 목록 : http://htmlhelp.com/reference/html40/inline.html (HTML4 용)
예를 들어. [암호
/암호
입력 태그를 a
꼬리표
위와 같이 입력 태그를 자체 닫으십시오.이것은 검증해야합니다.
표시