PANG
首页
学习笔记
前端技术
生活感悟
Golang
联系我
label标签使用过程中遇到的问题分析及解决思路
前端技术
2023/09/02
HTML
最近在做东西时候使用到了label标签,由于之前很少使用label标签,所以就遇到一个很奇怪的问题。什么问题呢?下面来看一个效果
<!DOCTYPE html> <html> <head> <meta charset=\"utf-8\" /> <title>HTML label tag 学习 by Typeof</title> <style type=\"text/css\"> html, body { margin: 0; padding: 0; } .title { margin: 10px; } .login-item, .login-button { margin: 20px; height: 30px; } .clearfix { clear: both; content: \"\"; display: block; } .login-item label { float: left; width: 70px; } .login-item .text { height: 18px; width: 200px; float: left; } </style> </head> <body> <div class=\"title\"> label标签使用过程中遇到的问题 </div> <div class=\"login-item clearfix\"> <label for=\"username\">用户名:</label> <input type=\"text\" class=\"text\" id=\"username\" name=\"username\" /> <lable id=\"J_usernameError\"></label> </div> <div class=\"login-item clearfix\"> <label for=\"password\">密 码:</label> <input type=\"text\" class=\"text\" id=\"password\" name=\"username\" /> <label id=\"J_passwordError\"></label> </div> <div class=\"login-button clearfix\"> <input type=\"submit\" value=\"登录\" id=\"J_submitLogin\" /> </div> <script> document.getElementById(\'J_submitLogin\').onclick = function() { var usernameError = document.getElementById(\'J_usernameError\'); usernameError.innerHTML = \'用户名错误\'; }; </script> </body> </html>
提示:您可以先修改部分代码再运行
这个demo要实现的目的是在点击登录按钮的时候校验用户输入的用户名、密码是否合法,如果不合法就在用户名输入框下面提示错误信息。
提示错误信息的元素计划用label实现。
通过运行代码打开demo页面,点击登录按钮,看会有什么变化。如果使用的是Firefox、Chrome或者IE9+,则点击登录按钮之后会提示 “用户名错误”,这是想要的结果。如果使用的是IE6, 7, 8如何一个再看看会有什么变化呢?这时候发现页面没有提示出来信息,打开开发人员工具,看下控制这时候会发现提示出来错误信息“SCRIPT600: 未知的运行时错误 ”。遇到这个问题的时候尝试了innerText和innerHTML两种方法,发现都会报这样的错误,以为是使用方法不对去w3cschool上面查了下发现也没有说不支持innerText和innerHTML的。
到底为什么会在IE6, 7, 8提示这样的错误而Firefox, Chrome, IE9+(其他浏览器没有尝试)运行正常呢。细心的人可能一下就看出问题在哪里了,对于提示“用户名错误”的元素开始标签写成了“lable”而不是label。但是我当时就没有发现这问题,一直以为是label标签使用方式上出现了问题呢,至于为什么IE6, 7, 8的JS引擎会在操作这种把标签名写错的元素的innerText、innerHTMl属性时出现错误,而Firefox、Chrome和IE9+没有出现错误,不是很清楚,如果有对这方面比较了解的朋友请解释下吧。
这个问题其实挺低级的,把标签名写错了嘛。但是当时自己就没有发现,后来仔细研究了一下才发现这个问题,所以还是记录一下。
本文地址:https://www.stayed.cn/item/5250
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请
联系我
微信
QQ好友
QQ空间
腾讯微博
新浪微博
人人网
我的博客
人生若只如初见,何事秋风悲画扇。
我的标签
框架(11)
jQuery(58)
WordPress(47)
Hbuilder(1)
PHP(4727)
NoSQL(3)
MYSQL(1173)
微信小程序(6)
JavaScript(8215)
HTML5(6)
前端设计(20)
网络安全(6)
微信支付(2)
连接池(1)
IOS(410)
HTML(671)
CSS(1220)
meta(1)
swiper(1)
Nginx(8)
移动端(4)
CentOS(7)
node.js(7)
windows(4)
IIS(3)
Linux(1450)
Bootstrap(1)
Rewrite(1)
Vue(81)
ThinkPHP(11)
Redis(6)
SEO(2)
Angular(3)
Android(2321)
ListView(2)
C#(1513)
Oracle(346)
MongoDB(111)
MSSQL(446)
Java(1572)
C++(863)
Golang(125)
Canal(4)
ES(2)
Kafka(2)
Prometheus(1)
.NET(1094)
SqLite(16)
AJAX(266)
Mac(499)
JSP(251)
PostgreSQL(23)
SSL(1)
JS(73)
Laravel(18)
安全(1)
C#.Net(2)
ES6(28)
Excel(40)
Word(53)
PHP8(2)
GIT(6)
VSCode(6)
Python(5)
React(31)
phpstorm(4)
Node(6)
前端问答(12)
windows运维(1)
phpMyAdmin(3)
SQL(1)
Access(1)
Java基础(1)
Discuz(3)
帝国CMS(10)
ECShop(5)
DEDECMS(34)
PHPCMS(5)
YII(1)
Docker(1)
composer(1)
数字人技术(2)
随笔档案
2024-02(2)
2023-06(1)
2023-05(1)
2023-04(14)
2023-03(3)
2023-01(6)
2022-12(5)
2022-11(5)
2022-07(2)
2022-06(4)
2022-05(3)
2022-03(1)
2021-12(6)
2021-11(1)
2021-10(3)
2021-09(5)
2021-07(5)
2021-02(2)
2021-01(7)
2020-12(18)
2020-11(14)
2020-10(12)
2020-09(10)
2020-08(22)
2020-07(2)
2020-06(1)
2020-04(5)
2020-03(9)
2020-02(7)
2020-01(9)
2019-12(8)
2019-11(10)
2019-10(11)
2019-09(17)
2019-08(16)
2019-07(6)
2019-06(3)
2019-04(1)
2019-03(8)
2019-02(5)
2019-01(1)
2018-11(2)
2018-10(3)
2018-09(1)
2018-08(3)
2018-07(3)
2018-06(7)
2018-04(4)
2018-03(5)
2018-02(4)
2018-01(22)
2017-12(3)
2017-11(5)
2017-10(15)
2017-09(26)
2017-08(1)
2017-07(3)