ホームページ > 記事 > ウェブフロントエンド > HTML5のinputタグ(type属性)について詳しく紹介します。
まずテーブルを見てみましょう
其中标有`红色5`的代表`HTML5`中推出的
テストコード:
ランニングエフェクト
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> form { width: 80%; background-color: #F7F7F7; } label { display: block; width: 80%; margin: 0 auto; font-size: 30px; font-weight: bold; } input { display: block; width: 80%; margin: 0 auto; } </style> </head> <body> <form action=""> <fieldset> <legend>测试type属性 </legend> <label for="">color: </label> <input type="color"> <label for="">date: </label> <input type="date"> <label for="">datetime: </label> <input type="datetime"> <label for="">datetime-local: </label> <input type="datetime-local"> <label for="">month: </label> <input type="month"> <label for="">week: </label> <input type="week"> <label for="">time: </label> <input type="time"> <label for="">email: </label> <input type="email"> <label for="">number: </label> <input type="number"> <label for="">range: </label> <input type="range"> <label for="">search: </label> <input type="search"> <label for="">tel: </label> <input type="tel"> <input type="submit"> </fieldset> </form> </body> </html>
互換性の問題
たとえば、メールアドレス、電話の長さ
などを入力するときに、ユーザーが入力エラーを引き起こす可能性があることを想像してください。ユーザーがフォームの内容を 10 件以上入力するのに苦労しました。送信をクリックするときに入力エラーが発生したため、内容がクリアされました
email地址``电话长度
等等都有可能出现输入错误,试想一下,当用户辛辛苦苦的输入了10多个表单内容,点击提交由于输入错误,内容被清空了下面把api文档的查阅位置添加如下
[w3cSchool_事件属性]w3School
[w3cSchool_input标签]w3cSchool
在
H5
中的input
的新type
属性
示例代码:
当我们点击提交<a href="http://www.php.cn/code/5991.html" target="_blank">按钮</a>
时,如果输入的email
格式不正确,会弹出提示信息
email
标签并不会验证内容是否为空,这个需要注意
* 点击不同type的input标签会有不一样的弹出内容 * 如果发现w3cschool内容不全,建议去MDN搜索 * 并不是每一个新type属性,在PC端都有不同的显示 * color, date, number 这些效果较为明显
对于没有自带验证效果的标签,就需要手动添加属性增加验证了
使用方法:
只需要添加required
属性即可,不需要赋值
示例代码:
当控件没有输入任何内容直接点击提交时,会弹出提示
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action=""> email:<input type="email" name="userEmail"> <br/> <input type="submit"> </form> </body> </html>
使用
required
标签只能够验证内容是否为空,如果想要验证的更为准确就需要自定义验证规则了
使用方法:
[w3cSchool_inputタグ]w3cSchool
H5
email
の input
の新しい type
属性には形式検証が付属しています
サンプルコード:
送信<a href="http://www.php.cn/code/5991.html" target="_blank">ボタン🎜</a>
をクリックしたとき、入力された 電子メールの形式
が正しくない場合、プロンプト メッセージがポップアップ表示されます🎜🎜🎜🎜email
タグは、コンテンツが空であるかどうかを確認しません。注意してください。これ🎜🎜🎜🎜🎜🎜🎜🎜メールにはヒントが付いています。png🎜<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action=""> email:<input type="email" name="userEmail"> <br/> tel:<input type="tel" required> <br/> <input type="submit"> </form> </body> </html>🎜require🎜d 属性🎜🎜🎜独自の検証効果があるため、検証を増やすには属性を手動で追加する必要があります🎜 blockquote>🎜🎜🎜🎜使用法:🎜🎜🎜🎜🎜🎜
required
属性を追加するだけで、割り当ては必要ありません🎜🎜🎜 🎜🎜🎜サンプルコード:🎜🎜🎜🎜🎜🎜WhenControl🎜When内容を入力せずに送信をクリックすると、プロンプトが表示されます🎜🎜🎜🎜 🎜🎜🎜🎜必須属性.png🎜 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action=""> email:<input type="email" name="userEmail"> <br/> tel:<input type="tel" required pattern="[0-9]{3}"> <br/> <input type="submit"> </form> </body> </html>🎜パターン カスタム 検証ルール🎜🎜🎜🎜use
required
タグはコンテンツが空かどうかのみを検証します。より正確に検証したい場合は、検証ルールをカスタマイズする必要があります🎜🎜🎜🎜🎜。使用法: 🎜🎜🎜🎜🎜🎜必要な場合はカスタム検証ルールを追加します required
タグを要素に追加します🎜🎜🎜🎜🎜正規表現🎜を使用して検証ルールを記述します🎜🎜🎜🎜🎜🎜サンプルコード:🎜🎜🎜🎜🎜🎜入力した内容が検証条件と一致しない場合、対応するプロンプトがポップアップ表示されます🎜🎜🎜🎜🎜🎜🎜🎜🎜カスタム検証.png🎜<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action=""> email:<input type="email" name="userEmail"> <br/> tel:<input type="tel" required pattern="[0-9]{3}"> <br/> <input type="submit"> </form> </body> </html>
系统的提示消息只能够提示格式错误,如果想要更为详细的就需要我们通过js来自定义了
使用方法:
注册事件:oninput:输入时
,oninvalid验证失败
设置自定义信息dom.setCustomValidity("这里输入提示信息");
示例代码:
输入时,会弹出oninput
绑定的代码
验证失败时,会弹出oninvalid
绑定的代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action=""> email:<input type="email" name="userEmail"> <br/> tel:<input type="tel" required pattern="[0-9]{3}" id="telInput"> <br/> <input type="submit"> </form> </body> </html> <script> var telInput = document.getElementById("telInput"); // 正在输入时 telInput.oninput=function () { this.setCustomValidity("请正确输入哦"); } // 验证失败时 telInput.oninvalid=function(){ this.setCustomValidity("请不要输入火星的手机号好吗?"); }; </script>
优点:
html5自带的验证使用便捷
不需要额外的js框架
缺点:
兼容性问题
如果想要兼容所有浏览器,建议使用js验证框架
【相关推荐】
1. 免费h5在线视频教程
2. HTML5 完整版手册
以上がHTML5のinputタグ(type属性)について詳しく紹介します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。