ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript HTML5はフォームvalidation_javascriptスキルを実装します

JavaScript HTML5はフォームvalidation_javascriptスキルを実装します

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-05-16 15:12:37
オリジナル
1545 人が閲覧しました

フォーム検証は無効なデータを検出し、エンド ユーザーに対してこれらのエラーをマークします。これはユーザー エクスペリエンスの最適化です。

以下はブラウザ付属の認証機能であり、モバイル端末でも閲覧可能です。

HTML 部分:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

<!DOCTYPE html>

<html lang="en">

<head>

  <meta charset="UTF-8">

  <meta name="viewport" content="width=device-width, initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0">

  <title>html5 表单验证</title>

</head>

<body>

<form action="#" id="formValid" class="myform" novalidate="novalidate" onsubmit="return checkForm()">

  <fieldset>

    <div class="form-group">

      <label for="name">名称</label>

      <div>

        <input type="text" class="form-control" id="name" name="name" required/>

        <span class="form-error">不能为空</span>

      </div>

    </div>

    <div class="form-group">

      <label for="email">邮箱</label>

      <div>

        <input type="email" class="form-control" id="email" name="email" required/>

        <span class="form-error">邮箱格式不正确</span>

      </div>

    </div>

    <div class="form-group">

      <label>省份</label>

      <select name="province" class="form-control">

        <option value="">请选择</option>

        <option value="s">四川</option>

        <option value="c">重庆</option>

      </select>

    </div>

    <input type="submit" class="btn" value="提交"/>

  </fieldset>

</form>

</body>

</html>

ログイン後にコピー

CSS 部分:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

fieldset{border: 0;}

.myform .form-control{

  display: block;

  padding: 5px;

  width: 100%

}

.myform input:focus:invalid + .form-error{

  display: inline;

}

.myform .form-error{

  display: none;

  position: absolute;

  margin-top: .7em;

  padding: 1px 2px;

  color: #fff;

  font-size: .875rem;

  background: #f40;

}

.myform .form-error:after{

  position: absolute;

  content: "";

  top: -.5em;

  left: .5em;

  z-index: 100;

  display: inline-block;

  width: 0;

  height: 0;

  vertical-align: middle;

  border-bottom: .5em solid #f40;

  border-right: .5em solid transparent;

  border-left: .5em solid transparent;

  border-top: 0 dotted;

  transform: rotate(360deg);

  overflow: hidden;

}

.btn{

  padding: 5px 20px;

 }

ログイン後にコピー

JavaScript 部分:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

function checkForm(){

  var myform = document.getElementById("formValid");

  return check(myform.elements);

}

function check(eles){

  var ele;

  for(var i = 0;i<eles.length;i++){

    ele = eles[i];

    if(ele.nodeName == "SELECT"){

      if(!ele.selectedIndex){

        alert("请选择省份");

        return false;

      }

    }else if(ele.name){

      if(!ele.checkValidity()){

        ele.focus();

        return false;

      }

    }

  }

  return true;

}

ログイン後にコピー

上記は、フォーム検証を実装するために JavaScript と HTML5 を組み合わせたコードです。皆さんの学習に役立つことを願っています。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート