문제

이것은 HTML Validator가 나에게 오류를 제공하는 코드입니다.

<input type="text" id="search" name="keywords" />
<input type="submit" value="Search" name="Submit" />

다음은 HTML Validator의 스크린 샷입니다. (전체 크기):

Screen shot of error in 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://www.w3schools.com/tags/tag_input.asp

공급 한 코드 앞에는 깔끔한 인라인 요소가 있습니까? 인라인 요소 목록 : http://htmlhelp.com/reference/html40/inline.html (HTML4 용)

예를 들어. [암호

/암호

입력 태그를 a

꼬리표

위와 같이 입력 태그를 자체 닫으십시오.

이것은 검증해야합니다.

표시

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top