麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

js+css實現增加表單可用性之提示文字

2019-11-20 22:40:19
字體:
來源:轉載
供稿:網友
平常設計表單的時候,我們會加入一些提示文字,比如說在搜索框里,我們會提示“請輸入關鍵字”,并在搜索框得到焦點和失去焦點的時候適時的隱藏和顯示,最常見的做法是利用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本身更單純,而且提示文字和用戶輸入的文本在樣式更容易控制,比如顏色的深淺,從而提高表單可用性。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美黄一级 | 国产精品久久久久久久久久电影 | 欧美精品激情在线 | 日韩在线毛片 | 久久精品视频69 | 欧美毛片在线观看 | 国产免费最爽的乱淫视频a 毛片国产 | www.99re14.com| 国产精品99久久久久久久vr | 免费a级黄色片 | 一级免费黄色免费片 | 久久99精品久久久久久国产越南 | 韩国精品视频在线观看 | 亚洲综合无码一区二区 | 国产噜噜噜噜久久久久久久久 | 国产成人77亚洲精品www | 在线观看中文字幕av | 久草视频福利在线观看 | 久草成人在线 | 国产91片| 欧美成人视| 懂色av懂色aⅴ精彩av | 亚洲码无人客一区二区三区 | 九九热视频这里只有精品 | 91av资源在线 | 7777网站| 欧美国产一级片 | 美女扒开腿让男生桶爽网站 | 91在线免费观看 | 91久久久久久亚洲精品禁果 | 精品久久久久久国产 | 亚洲成在人 | 国产成人小视频在线观看 | 久久不射电影网 | 欧美高清第一页 | 日本欧美一区二区三区视频麻豆 | 欧美在线a | 黄网站在线免费 | aaaaaaa毛片| 欧美14一15sex性hd | 成人一级黄色片 |