国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 15:47:10
字體:
來源:轉載
供稿:網友
平常設計表單的時候,我們會加入一些提示文字,最常見的做法是利用value來設置,下面與大家分享一個實例,感興趣的朋友可以參考下哈

平常設計表單的時候,我們會加入一些提示文字,比如說在搜索框里,我們會提示“請輸入關鍵字”,并在搜索框得到焦點和失去焦點的時候適時的隱藏和顯示,最常見的做法是利用value來設置:

復制代碼 代碼如下:


<form>
<input type="text" 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>
<div>
<label for="keyword">請輸入關鍵字</label>
<input type="text">
</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本身更單純,而且提示文字和用戶輸入的文本在樣式更容易控制,比如顏色的深淺,從而提高表單可用性。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 临沧市| 明溪县| 长顺县| 鄯善县| 兴文县| 太康县| 壶关县| 田林县| 措美县| 恩施市| 大厂| 曲周县| 无极县| 扶沟县| 宁陕县| 视频| 曲松县| 田林县| 临西县| 盱眙县| 准格尔旗| 霍州市| 马关县| 吉木萨尔县| 甘南县| 宜良县| 蒙阴县| 延津县| 区。| 文化| 灵武市| 淮滨县| 将乐县| 岳普湖县| 临漳县| 当雄县| 浏阳市| 正宁县| 汝州市| 中西区| 称多县|