DOM基礎3-9 編程練習

3-9 編程練習

小夥伴們,今天我們學習了onblur和onfocus這兩個鼠標事件,根據gif圖,補充代碼,實現下列功能:

(1)   當輸入框獲得焦點:

如果輸入框值爲空,提示“請輸入您的姓名”

(2)   當輸入框失去焦點:

如果輸入框值爲空,提示“用戶名不能爲空”,並且邊框顏色變爲紅色

如果輸入框值不爲空,那麼沒有提示文字,邊框顏色是默認顏色

任務

根據gif效果圖完成下列步驟:

第一步:通過元素名獲取dom對象的方式,得到輸入框對象以及放置提示文字的元素對象,並用變量進行接收

Tips:放置提示文字的元素可以放在一個行內元素中

第二步:給輸入框綁定獲得焦點事件,當輸入框獲得焦點時,判斷:

如果值爲空,輸入框後出現提示文字“請輸入您的姓名”

第三步:給輸入框綁定失去焦點事件,當輸入框獲得焦點時,判斷:

(1)如果值爲空,輸入框後出現提示文字“用戶名不能爲空”,並且將樣式表中的邊框樣式添加給輸入框

(2)如果值不爲空,輸入框後的提示文字消失,之前加上的樣式也要去掉

Tips:

(1)  在第三步的判斷中,如果值爲空,給輸入框加上顏色,那麼當我們輸入框獲取焦點時,要將邊框樣式恢復默認樣式

(2)用設置元素的class屬性這個方法給輸入框加樣式

參考答案:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>onblur和onfocus</title>
    <style type="text/css">
        .red{
            border:1px solid red;
        }
    </style>
</head>
<body>
    姓名:<input type="text"> <span></span>
    <script type="text/javascript">
        // 補充代碼
        window.onload=function(){
            var entry=document.getElementsByTagName("input")[0];
            var prompt=document.getElementsByTagName("span")[0];
            entry.onfocus=function(){
                prompt.innerHTML="請輸入您的姓名";              
                entry.removeAttribute("class");  
            }
            entry.onblur=function(){
                if(entry.value===""){
                    entry.className="red";
                    prompt.innerHTML="用戶名不能爲空"; 
                } 
            }
        }
    </script>
</body>
</html>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章