HTML 및 CSS 입문자를 위한

초보자를 위한 HTML 및 CSS(17부): 폼 (5)

튜토리얼의 모든 비디오 HTML 및 CSS 초보자를 위한

자동 완성 기능은 이제 인터넷에서 인기 있는 기능입니다. 양식 필드에 무언가를 입력하면 브라우저는 해당 기능이 활성화되어 있고 브라우저에서 지원하는 경우 추천 단어 목록을 제공합니다.

초보자를 위한 HTML 및 CSS(17부): 폼 (5)

이제 이러한 애플리케이션을 매우 쉽게 구현할 수 있습니다. 이렇게 하려면 입력 요소에 자동 완성 속성을 할당하면 됩니다.

<입력 유형="텍스트" 자동 완성="켜기" />



값은 필드에 대한 자동 완성을 활성화합니다. 이제부터 브라우저는 필드에 입력한 값을 기억하고 나중에 선택 목록을 통해 제공합니다. 이렇게 하면 양식을 훨씬 더 빠르게 완성할 수 있습니다.

그러나 모든 필드에서 이 동작이 바람직한 것은 아닙니다. 이러한 경우에는 자동 완성을 명시적으로 비활성화할 수 있습니다. 이렇게 하려면 자동 완성 속성에 off 값을 할당합니다.

<입력 유형="텍스트" 자동 완성="꺼짐" />



또는 양식 요소에 자동 완성 속성을 추가할 수도 있습니다. 여기서 값을 켜짐 또는 꺼짐으로 사용했는지 여부에 따라 전체 양식에 대해 자동 완성 기능이 활성화되거나 비활성화됩니다.

<form autocomplete="on"> ... </form>



그러나 양식 내에 반대되는 사양이 있는 경우 해당 사양이 적용됩니다.

<양식 자동 완성="켜짐"> 이름: <입력 유형="텍스트" 이름="vname" 자동 완성="꺼짐" /><br /> 이름입니다: <입력 유형="text" name="nname" /><br /> 우편번호: <입력 유형="text" name="plz" /><br /> 도시: <입력 유형="text" name="ort" /> </form>



이 예에서는 도입 양식 요소에서 자동 완성 값이 켜짐으로 설정되었으므로 모든 양식 필드에 자동 완성이 적용됩니다. 여기서 유일한 예외는 vname 필드입니다. 이 필드에 대해 자동 완성 기능이 명시적으로 비활성화되었기 때문입니다.

자동 완성 기능이 작동하려면 해당 브라우저에서 이 기능을 지원해야 하며 비활성화되어 있지 않아야 합니다. 또한 이미 한 번 입력한 값만 제안 목록에 표시됩니다.

데이터리스트 요소는 제안 목록의 값에 실질적인 영향을 미칠 수 있도록 HTML5와 함께 도입되었습니다. 이 요소는 브라우저에서 눈에 보이는 출력을 생성하지 않습니다. 제안 목록의 값은 하위 옵션 요소를 통해 정의할 수 있습니다. 예를 들어 보겠습니다:

<div> Language:
<br /> <입력 유형="텍스트" 자동 완성="켜짐" 목록="언어" /> </div> <데이터리스트 id="언어"> <옵션 값="HTML5"></옵션>
   <옵션 값="XHTML"></옵션> <옵션 값="php"></옵션> <옵션 값="JavaScript"></옵션> </datalist>



입력 요소의 목록 속성은 입력 필드와 데이터리스트 요소 간의 논리적 연결을 만드는 데 사용됩니다. 이렇게 하려면 목록 속성과 데이터 목록 요소의 id 속성에 동일한 값을 사용해야 합니다.

초보자를 위한 HTML 및 CSS(17부): 폼 (5)

포커스 설정

페이지가 호출될 때 양식 필드에 포커스를 자동으로 할당할 수 있습니다. 예를 들어 Google 홈페이지에서 이러한 기능을 알 수 있습니다. 이 페이지가 호출되면 검색/입력 필드에 커서를 수동으로 놓을 필요 없이 검색어를 바로 입력할 수 있습니다.

초보자를 위한 HTML 및 CSS(17부): 폼 (5)

HTML5에는 이러한 경우를 위한 자동 초점 속성이 있습니다. 이 속성을 사용하면 페이지가 로드될 때 해당 속성이 있는 양식 필드에 자동으로 포커스가 할당됩니다.

예시입니다:

<양식> <입력 이름="검색 필드" 자동 초점="자동 초점" /> <입력 유형="제출" 값="검색" /> </양식>



자동 초점 속성을 인식하지 못하는 브라우저는 이를 무시하기만 하면 됩니다. 이 무시에는 부정적인 영향이 없습니다. (단, 필드에 초점이 맞춰지지 않습니다).

항목 확인

지금까지는 HTML 도구만으로는 양식 항목을 확인할 수 없었습니다. 예를 들어 사용자가 양식 필드에 이메일 주소를 실제로 입력했는지 테스트하려면 일반적으로 JavaScript나 php를 사용해야 했습니다. HTML5에서는 이러한 '왜곡'이 더 이상 필요하지 않습니다. HTML에는 이제 유효성 검사 API가 함께 제공되기 때문입니다. 그리고 많은 기능을 제공합니다. 이제 아주 적은 노력으로 양식 항목을 확인할 수 있습니다.

HTML5에는 필드 유효성 검사 방법을 결정하는 여러 가지 규칙이 있습니다. 예를 들어 이메일 유형의 입력 필드는 구문적으로 올바른 이메일 주소가 입력되었는지 확인합니다.

- url - URL을 확인합니다.

- email - 이메일 주소 확인

- 범위 - 부동 소수점 숫자인지 확인합니다.

- number - 부동 소수점 숫자인지 확인합니다.

필드를 필수 필드로 표시하려면 필수 속성이 필드에 할당됩니다.

<입력 id="vname" name="vname" type="text" required="required" />



이 속성으로 레이블이 지정된 필드는 반드시 입력해야 하며, 비어 있으면 안 됩니다.

하지만 필드의 유효성을 검사하려면 특정 요구 사항을 충족해야 합니다.

- 이름 속성이 요소에 할당되어야 합니다.

- 요소는 양식 요소 내에 있어야 합니다. 즉, HTML 양식에 있어야 합니다. 또는 양식 속성을 통해 양식에 대한 연결을 설정할 수도 있습니다.

- 요소에 읽기 전용 또는 비활성화 속성이 없어야 합니다.

올바른 애플리케이션은 다음과 같습니다:

<form action="form.php"> <input id="vname" name="vname" type="text" required="required" /> <input type="submit" /> </form>



여기서 브라우저는 필드가 채워졌는지 여부를 확인합니다. 필드가 비어 있는데도 양식을 제출하려고 시도하면 이제 브라우저에 오류 메시지가 표시됩니다.

초보자를 위한 HTML 및 CSS(17부): 폼 (5)

양식 필드 유형인 이메일, 범위, 번호, 전화URL은 이미 이 시리즈에서 여러 번 언급했습니다. 이러한 필드는 값이 포함되어 있는지 여부뿐만 아니라 입력한 값이 올바른지 여부도 확인합니다.

<form action="form.php"> <input id="email" name="email" type="email" /> <input type="submit" /> </form>



예를 들어 이메일 유형 필드의 경우 시스템은 입력된 값이 실제로 구문상 올바른 이메일 주소인지 확인합니다. 그렇지 않은 경우 브라우저에 오류 메시지가 표시됩니다.

초보자를 위한 HTML 및 CSS(17부): 폼 (5)



오류 메시지 표시는 브라우저의 책임입니다.

자동으로 확인되지 않는 필드

입력 항목의 자동 유효성 검사가 항상 바람직한 것은 아닙니다. 전체 양식의 유효성 검사를 방지하려면 도입 양식 요소에 novalidate 속성을 할당하세요.

<form action="form.php" novalidate> <input id="email" name="email" type="email" /> <input type="submit" /> </form>



또는 formnovalidate 속성을 제출 버튼에 추가할 수도 있습니다. 예를 들어 제출 버튼과 병행하여 양식을 임시로 저장하는 버튼을 제공하는 경우 유용합니다.

<form action="form.cgi" method="post"> <입력 id="이메일" 이름="이메일" 유형="이메일" /> <입력 유형="제출" 이름="제출" 값="보내기" /> <입력 유형="제출" formnovalidate="formnovalidate" 값="저장" /> <입력 유형="제출" formnovalidate="양식 유효성 검사" 값="로그아웃" /> </form>



이 경우 양식은 첫 번째 제출 버튼을 통해서만 유효성이 검사됩니다. 나머지 두 개는 저장 및 로그아웃에 사용됩니다. 이러한 경우에는 유효성 검사가 필요하지 않습니다.