ホームページ  >  記事  >  ウェブフロントエンド  >  jQuery、html5、css3で入力バリデーション付きの角丸非更新フォームの機能を実装

jQuery、html5、css3で入力バリデーション付きの角丸非更新フォームの機能を実装

不言
不言オリジナル
2018-06-25 16:31:411261ブラウズ

この記事では主に、入力検証機能コードを備えた角丸非更新フォームを実装するための jQuery+html5+css3 を紹介します。HTML5 と css3 テクノロジーを追加して、フォーム全体の効果をより美しく、ゴージャスにします

必要な友達は参考にしてください。

この記事の例 jQuery+html5+css3を使用して、入力検証機能コードを備えた角丸非リフレッシュフォームを実装します。参考のためにみんなで共有してください。詳細は次のとおりです:

これは、丸みを帯びたフォーム、丸みを帯びた入力ボックス、更新検証なし、美しく美しい、HTML5/CSS3/jQuery をベースにしたフォーム効果の概要です。 HTML5 その結果、今後は HTML5 に夢中になり、邪悪な IE を叱責することになります。これは悲しいことです。これまで IE8 は HTML5 をサポートしていませんでした。

まず、実行中のエフェクトのスクリーンショットを見てみましょう:

具体的なコードは次のとおりです:

<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>html5+css3+jQuery圆角注册表单效果</title>
<script type="text/javascript" src="jquery-1.6.2.min.js"></script>
<script type="text/javascript">
 $(document).ready(function() {
(function($) { $.InFieldLabels = function(label, field, options) { var base = this; base.$label = $(label); base.$field = $(field); base.$label.data("InFieldLabels", base); base.showing = true; base.init = function() { base.options = $.extend({}, $.InFieldLabels.defaultOptions, options); base.$label.css(&#39;position&#39;, &#39;absolute&#39;); var fieldPosition = base.$field.position(); base.$label.css({ &#39;left&#39;: fieldPosition.left, &#39;top&#39;: fieldPosition.top }).addClass(base.options.labelClass); if (base.$field.val() != "") { base.$label.hide(); base.showing = false; }; base.$field.focus(function() { base.fadeOnFocus(); }).blur(function() { base.checkForEmpty(true); }).bind(&#39;keydown.infieldlabel&#39;, function(e) { base.hideOnChange(e); }).change(function(e) { base.checkForEmpty(); }).bind(&#39;onPropertyChange&#39;, function() { base.checkForEmpty(); }); }; base.fadeOnFocus = function() { if (base.showing) { base.setOpacity(base.options.fadeOpacity); }; }; base.setOpacity = function(opacity) { base.$label.stop().animate({ opacity: opacity }, base.options.fadeDuration); base.showing = (opacity > 0.0); }; base.checkForEmpty = function(blur) { if (base.$field.val() == "") { base.prepForShow(); base.setOpacity(blur ? 1.0 : base.options.fadeOpacity); } else { base.setOpacity(0.0); }; }; base.prepForShow = function(e) { if (!base.showing) { base.$label.css({ opacity: 0.0 }).show(); base.$field.bind(&#39;keydown.infieldlabel&#39;, function(e) { base.hideOnChange(e); }); }; }; base.hideOnChange = function(e) { if ((e.keyCode == 16) || (e.keyCode == 9)) return; if (base.showing) { base.$label.hide(); base.showing = false; }; base.$field.unbind(&#39;keydown.infieldlabel&#39;); }; base.init(); }; $.InFieldLabels.defaultOptions = { fadeOpacity: 0.5, fadeDuration: 300, labelClass: &#39;infield&#39; }; $.fn.inFieldLabels = function(options) { return this.each(function() { var for_attr = $(this).attr(&#39;for&#39;); if (!for_attr) return; var $field = $("input#" + for_attr + "[type=&#39;text&#39;]," + "input#" + for_attr + "[type=&#39;password&#39;]," + "input#" + for_attr + "[type=&#39;tel&#39;]," + "input#" + for_attr + "[type=&#39;email&#39;]," + "textarea#" + for_attr); if ($field.length == 0) return; (new $.InFieldLabels(this, $field[0], options)); }); }; })(jQuery);
$("#RegisterUserForm label").inFieldLabels();
});
</script>
<style type="text/css">
html, body, h1, form, fieldset, input{margin: 0;padding: 0;border: none;}
body{font-family: Helvetica, Arial, sans-serif;font-size: 12px;}
#registration{color: #fff;background: #2d2d2d;background: -webkit-gradient( linear, left bottom, left top, color-stop(0, rgb(60,60,60)), color-stop(0.74, rgb(43,43,43)), color-stop(1, rgb(60,60,60)) );background: -moz-linear-gradient( center bottom, rgb(60,60,60) 0%, rgb(43,43,43) 74%, rgb(60,60,60) 100% );-moz-border-radius: 10px;-webkit-border-radius: 10px;border-radius: 10px;margin: 10px;width: 430px;}
#registration a{color: #8c910b;text-shadow: 0px -1px 0px #000;}
#registration fieldset{padding: 20px;}
input.text{-webkit-border-radius: 15px;-moz-border-radius: 15px;border-radius: 15px;border: solid 1px #444;font-size: 14px;width: 90%;padding: 7px 8px 7px 30px;-moz-box-shadow: 0px 1px 0px #777;-webkit-box-shadow: 0px 1px 0px #777;background: #ddd url(&#39;img/inputSprite.png&#39;) no-repeat 4px 5px;background: url(&#39;images/inputSprite.png&#39;) no-repeat 4px 5px, -moz-linear-gradient( center bottom, rgb(225,225,225) 0%, rgb(215,215,215) 54%, rgb(173,173,173) 100% );background: url(&#39;images/inputSprite.png&#39;) no-repeat 4px 5px, -webkit-gradient( linear, left bottom, left top, color-stop(0, rgb(225,225,225)), color-stop(0.54, rgb(215,215,215)), color-stop(1, rgb(173,173,173)) );color: #333;text-shadow: 0px 1px 0px #FFF;}
input#email{background-position: 4px 5px;background-position: 4px 5px, 0px 0px;}
input#password{background-position: 4px -20px;background-position: 4px -20px, 0px 0px;}
input#name{background-position: 4px -46px;background-position: 4px -46px, 0px 0px;}
input#tel{background-position: 4px -76px;background-position: 4px -76px, 0px 0px;}
#registration h2{color: #fff;text-shadow: 0px -1px 0px #000;border-bottom: solid #181818 1px;-moz-box-shadow: 0px 1px 0px #3a3a3a;text-align: center;padding: 18px;margin: 0px;font-weight: normal;font-size: 24px;font-family: Lucida Grande, Helvetica, Arial, sans-serif;}
#registerNew{width: 203px;height: 40px;border: none;text-indent: -9999px;background: url(&#39;images/createAccountButton.png&#39;) no-repeat;cursor: pointer;float: right;}
#registerNew: hover{background-position: 0px -41px;}
#registerNew: active{background-position: 0px -82px;}
#registration p{position: relative;}
fieldset label.infield{color: #333;text-shadow: 0px 1px 0px #fff;position: absolute;text-align: left;top: 3px !important;left: 35px !important;line-height: 29px;}
</style>
</head>
<body>
<p id="registration">
 <h2>Create an Account</h2>
 <form id="RegisterUserForm" action="" method="post">
 <fieldset>
  <p>
  <label for="name">Name</label>
  <input id="name" name="name" type="text" class="text" value="" />
  </p>
  <p>
  <label for="tel">Phone Number</label>
  <input id="tel" name="tel" type="tel" class="text" value="" />
  </p>
  <p>
  <label for="email">Email</label>
  <input id="email" name="email" type="email" class="text" value="" />
  </p>
  <p>
  <label for="password">Password</label>
  <input id="password" name="password" class="text" type="password" />
  </p>
  <p><input id="acceptTerms" name="acceptTerms" type="checkbox" />
  <label for="acceptTerms">
  I agree to the <a href="">Terms and Conditions</a> and <a href="">Privacy Policy</a>
  </label>
  </p>
  <p>
  <button id="registerNew" type="submit">Register</button>
  </p>
 </fieldset>
 </form>
</p>
</body>
</html>

上記がこの記事の全内容だと思います。皆様の学習に役立ちます。PHP 中国語 Web サイトのその他の関連コンテンツにも注目してください。

関連する推奨事項:

JavaScript と html5 キャンバス コードで小さな人物を描く方法

jQuery スライド ボタン スイッチを実装する方法

JS と CSS3 を使用してクールなポップを作成する方法アップウィンドウ効果

以上がjQuery、html5、css3で入力バリデーション付きの角丸非更新フォームの機能を実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。