HTML5는 의미론, 소형 구성 요소 또는 데이터 형식 검증 등 양식의 큰 최적화를 가지고 있습니다. 브라우저 호환성을 이러한 새로운 기능을 사용하는 변명으로 사용하는 것 같아요. 또한 HTML5 브라우저 퇴각 처리없이 HTML5를 지원하지 않는 도구와 같은 도구가 있습니다. 수행. 이 형식의 새로운 기능을 실제로 사용하려고 할 때, 나는 당신이 그것에 사랑에 빠질 것을 약속합니다. 유일한 결함이 있다면, 프롬프트 상자의 스타일은 브라우저의 기본값이라면 브라우저 제조업체의 디자이너의 미학적 수준을 믿는다면 (나는 그들의 설계 수준이 대부분의 것보다 더 높다고 생각한다면, 당신은 그것을 변경할 수 없습니다. 대부분의 평범한 사람들보다 평범한 사람들, 당신이 스타일 호환성을 고려하지 않는다면, 서둘러서 학교!
기본 검증 입력 유형html5는 ::와 같은 데이터 형식 확인에 대한 많은 기본 지원을 제공합니다.
<입력 유형 = '이메일'/>
제출 버튼을 클릭 할 때 입력 한 형식이 이메일을 충족하지 않으면 제출할 수 없게되며 브라우저가 오류 메시지를 작성하라는 메시지가 표시됩니다.
예를 들어, Chrome에서 :
알아채다:1. 제출할 때만 브라우저의 확인을 트리거합니다.
2. 다른 브라우저 프롬프트 정보가 다릅니다
3. 다중 입력이 요구 사항을 충족하지 않으면 하나의 오류 만 프롬프트됩니다.
입력 유형이 TEL과 같을 때 전화 번호 형식을 입력하면 브라우저에 의해 차단되고 제출시 오류 메시지가 발생하면 생성 된 키보드가 순수하게 만들 수 있습니다. 디지털 키보드는 데이터 검증에서 역할을하지 않습니다.
무늬기본 확인 데이터 형식을 제공하지 않고도 패턴 속성을 사용하여 브라우저에 대한 사용자 정의 형식 확인을 설정할 수 있습니다. 패턴 속성의 값은 정규식 (문자열)입니다.
<입력 유형 = 'tel'pattern = '[0-9] [0-9] {11}'if (this.value.length> 3) {// 판단 조건은 완전히 사용자 정의 된 입력입니다. input.setCustomValidity ( '')}});
각 키보드 입력, 코드는 형식이 올바른지 여부를 결정한 다음 SetCustomValidity를 호출하여 Valuemessage의 값을 설정합니다. 모든 키 브라우저가 결과가 올바른지 여부에 관계없이 결과를 촉진한다고 생각하지 마십시오.
당신이 그것에 대해 생각하지 않았다면, 당신은 그 이후로 확실히 묻습니다. 왜 그 이후로, 당신은 왜 입력을 위해 키보드 이벤트를 바인딩해야합니까? 그리고 각 입력에 대해 판단해야합니까? 제출할 때 얼마나 좋은지 판단하는 것이 좋습니다.
입력 판단 형식과 스타일로물론 사용자로서 잘못된 형식을 입력했다는 사실을 알게 된 후 텍스트 상자는 빨간색이됩니다 (또는 다른 팁이 있습니다). 그리고 캐릭터에 들어갈 때마다 옳은 경우 텍스트 상자가 정상으로 돌아갑니다. CSS Pseudo 클래스를 사용 하여이 기능을 구현할 수 있습니다.
입력 : 필수 {배경색 : #ffe14d;} /*이 의사 클래스는 Valuemessage 속성* / 입력을 통해 판단됩니다.
위의 필수 의사 -범주는 필수적이지만 빈 입력에 대한 노란색 배경색을 제공하는 반면, 아래의 유효하지 않은 의사 클래스는 2px 빨간색을 모든 unreamed 입력에 추가합니다. 입력 클래스를 입력 상자에 추가 할 수 있습니다.
이러한 의사 카테고리의 판단 조건은 양식의 양식을 제출할 수 있는지 판단합니다. -스타일 스타일. 이것은 여기 있습니다.
더 나은 사용자 경험또 다른 단점은 초기화가 비어 있기 때문에 입력이 필요한 것으로 설정되면 유효하지 않은 의사 카테고리가 작동한다는 것입니다.
부모 선택 장치를 추가 할 수 있습니다. invalid 이러한 의사 카테고리 전에 이러한 의사 클래스는 부모 요소에 유효하지 않은 클래스가있을 때만 역할을합니다. 제출 이벤트를 설정할 수 있습니다. 양식 제출 양식이 제출되면 유효하지 않은 이벤트가 확인 실패 후 유효하지 않습니다.
form.adeventListener ( 'invalid', function () {this.classname = 'invalid'}, true)는 폼의 이벤트가 아닌 사건이기 때문에 획득 된 메소드를 사용하기 위해 True를 사용하도록 설정합니다. 이런 식으로, 그것은 끝났다.
최종 인스턴스글쎄, 이제 우리가 배운 지식을 요약하고 모범 사례를 만들 시간입니다.
<! {Border : 2PX Solid Red;} </style> </head> <body> <Form id = form> <label> 이메일 : <입력 유형 = 이메일 필수 id = 이메일> </label> <lable> idcard : < 입력 ID = idcard> </label> <입력 유형 = 제출 ID = 제출> </form> <cript> var email = getElementById ( 'email'); ); var form = getElementById ( 'form'); } else {this.setCustomValidity ( '')}});
실행 후 스크린 샷은 다음과 같습니다.
위는이 기사의 모든 내용입니다.