站长资源网络编程 js+css实现增加表单可用性之提示文字 整理:jimmy2026/8/6浏览2次 站长资源 网络编程 网盘链接 云盘下载 简介平常设计表单的时候,我们会加入一些提示文字,比如说在搜索框里,我们会提示“请输入关键字”,并在搜索框得到焦点和失去焦点的时候适时的隐藏和显示,最常见的做法是利用value来设置: 复制代码 代码如下: 平常设计表单的时候,我们会加入一些提示文字,比如说在搜索框里,我们会提示“请输入关键字”,并在搜索框得到焦点和失去焦点的时候适时的隐藏和显示,最常见的做法是利用value来设置: 复制代码 代码如下: <form id="search"> <input type="text" id="keyword" name="keyword" value="请输入关键字"> <button>搜索</button> </form> <script> document.getElementById("keyword").onfocus = function() { if (document.getElementById("keyword").value == "请输入关键字") { document.getElementById("keyword").value = ""; } } document.getElementById("keyword").onblur = function() { if (document.getElementById("keyword").value == "") { document.getElementById("keyword").value = "请输入关键字"; } } document.getElementById("search").onsubmit = function() { var keyword = document.getElementById("keyword").value; if (keyword == "" || keyword == "请输入关键字") { alert("请输入关键字"); return false; } return true; } </script> 如此的代码虽然实现了我们要的功能,但却不干净,原因在于“请输入关键字”这样的文本仅仅是提示文字而已,而不是value,虽然技术上没有大问题,但很多时候还是显得麻烦,比如说我们可能像让提示文字显示的颜色是灰色,而用户键入的文本则显示黑色。 下面看看如何利用css来实现更好的方式: 复制代码 代码如下: <style> #wrapper { position: relative; display: inline; } #description { position: absolute; left: 1px; color: #999999; display: none; } </style> <form id="search"> <div id="wrapper"> <label for="keyword" id="description">请输入关键字</label> <input type="text" id="keyword" name="keyword"> </div> <button>搜索</button> </form> <script> window.onload = function() { if (!document.getElementById("keyword").value) { document.getElementById("description").style.display = "inline"; } }; document.getElementById("keyword").onfocus = function() { if (!document.getElementById("keyword").value) { document.getElementById("description").style.display = "none"; } } document.getElementById("keyword").onblur = function() { if (!document.getElementById("keyword").value) { document.getElementById("description").style.display = "inline"; } } document.getElementById("search").onsubmit = function() { if (!document.getElementById("keyword").value) { alert("请输入关键字"); return false; } return true; } </script> 这样的实现方式虽然CSS,JS代码都多了一些,但是结构更合理,通过引入label来显示提示文字(通过CSS的position属性定位),让value本身更单纯,而且提示文字和用户输入的文本在样式更容易控制,比如颜色的深浅,从而提高表单可用性。 上一篇:如何使用jQUery获取选中radio对应的值(一句代码) 下一篇:捕获浏览器关闭、刷新事件不同情况下的处理方法 最新资源 群星《奔赴!万人现场 第2期》[FLAC/分轨] 群星《奇妙浪一夏 (上海迪士尼度假区音乐 群星《奇妙浪一夏 (上海迪士尼度假区音乐 【古典音乐】詹姆斯·高威《季节》1993[WA 贝拉芳蒂《卡里普索之王》SACD[WAV+CUE] 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE 群星《欢迎来到我身边 电影原声专辑》[32 群星《欢迎来到我身边 电影原声专辑》[FL 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低 群星《2024好听新歌42》AI调整音效【WAV分 一句话新闻高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。 标签云1080P高清(5)高清电影(5)百度云盘(5)网盘下载(4)破解软件(4)绿色软件(4)磁力链接(3)强度天梯(3)福利资源(2)王者荣耀(2)黑钻活动(2)WPS会员(2)刷图排行(1)网盘限速(1)鬼灭之刃(1)免费韩国漫画(1)宫本重做(1)免费动漫(1) 友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 站点地图 SiteMap