自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺析JavaScript的用戶登錄表單—焦點事件

開發(fā) 前端
在Web項目開發(fā)中,經(jīng)常會在表單驗證功能看到焦點事件。例如,文本框獲取焦點改變文本框的顏色,文本框失去焦點檢驗輸入的文本框的內(nèi)容是否正確等。接下來,小編帶大家一起來實現(xiàn)一個用戶登錄的表單!

[[429723]]

一、前言

大家好,我是前端進階者。在Web項目開發(fā)中,經(jīng)常會在表單驗證功能看到焦點事件。例如,文本框獲取焦點改變文本框的顏色,文本框失去焦點檢驗輸入的文本框的內(nèi)容是否正確等。接下來,小編帶大家一起來實現(xiàn)一個用戶登錄的表單!

二、項目準備

開發(fā)工具:HBuilderX

瀏覽器:Google Chrome瀏覽器

三、項目目標

1.掌握焦點事件的使用。

2.理解獲取焦點和失去焦點知識。

3.學會運用封裝函數(shù)。

四、項目實現(xiàn)

HTML

  1. <div id="box"
  2. <div id="img"
  3.     <img src="img/1.jpg" /> 
  4. </div> 
  5. <div id="form"
  6.     <label>賬號:<input type="text" id="user"></label> 
  7.     <label>密碼:<input type="text" id="pwd"></label> 
  8.     <div id="btn"
  9.     <button id="btn_ok">登錄</button> 
  10.     <button id="btn_ok">注冊</button> 
  11.     </div> 
  12. </div> 
  13. <div id="show"></div> 
  14. </div> 

在上面代碼中,div的id為box相當于一個大盒子,div的id為img、form、show為小盒子。

id為img主要是放置圖片;

id為form主要是放置表單,在里面嵌套還有一個div,它的id為btn,主要是放置登錄、注冊按鈕;

id為show是用來顯示提示信息。

CSS3

  1. #box{ 
  2.     margin-top: 20px; 
  3.     width: 800px; 
  4.     height: 400px; 
  5.     display: flex; 
  6.     text-align: center; 
  7.     flex-direction: column
  8.     justify-content: center; 
  9. #form{ 
  10.     display: flex; 
  11.     flex-direction: column
  12.     justify-content: center; 
  13. #btn{ 
  14.     display: flex; 
  15.     text-align: center; 
  16.     flex-direction: row; 
  17.     justify-content: center; 
  18. #user
  19.     margin-bottom: 10px; 
  20. #btn_ok{ 
  21.     margin-top: 10px; 
  22.     margin-right: 20px; 
  23. #show{ 
  24.     margin-top: 10px; 
  25.     color: red; 

在上面代碼中,#box表示大盒子的樣式,寬度和高度分別為800、400px,margin-top屬性表示上外邊距為20px,使用彈性布局display: flex;

flex-direction屬性表示控制主軸的方向,colum表示垂直方向,row表示水平方向。

justify-content屬性表示項目在主軸上的對齊方式,center表示中間。

text-align屬性表示文字對齊方式。

margin-bottom屬性表示設(shè)置元素的下外邊距。

margin-right屬性表示設(shè)置元素的右外邊距。

JavaScript

1.獲取元素操作的對象

  1. function $(id){ 
  2.     return document.getElementById(id); 

在上面代碼中,$(id)函數(shù)用于根據(jù)id獲取元素。

id參數(shù)表示標簽元素自定義的id名稱,例如,a標簽的id="abc",獲取該元素對象調(diào)用$('abc')函數(shù)就可以獲取元素的對象。

2.給指定元素添加失去焦點事件

  1. function addBlur(m){ 
  2.     m.onblur=function(){ 
  3.         isEmpty(this); 
  4.     } 

在上面代碼中,指定元素添加失去焦點方法是onblur方法。調(diào)用isEmpty()函數(shù)判斷表單是不是為空。

3.檢驗指定元素失去焦點,它的value值是不是為空

  1. window.onload=function(){ 
  2.     addBlur($('user')); 
  3.     addBlur($('pwd')); 

在上面代碼中,window.onload表示頁面一加載就觸發(fā)。

檢驗id為user和pass的元素如果失去焦點,它的value值是不是為空。

4.檢驗表單是不是為空

  1. function isEmpty(m){ 
  2.     if(m.value===''){ 
  3.         $('show').style.display='block'
  4.         $('show').innerHTML='您輸入的內(nèi)容不能為空!'
  5.     }else
  6.         $('show').style.display='none'
  7.  
  8.     } 

在上面代碼中,如果表單內(nèi)容為空,向id為show對象中插入提示內(nèi)容。

5.處理登錄按鈕事件——判斷賬號和密碼是否正確

  1. $('btn_ok').onclick=function(){ 
  2.     if(($('user').value=='abc')&&($('pwd').value=='123')){ 
  3.         $('show').style.display='block'
  4.         $('show').innerHTML='登錄成功!'
  5.     }else
  6.         $('show').style.display='block'
  7.         $('show').innerHTML='賬號或密碼錯誤!'
  8.     } 

在上面代碼中,處理登錄按鈕事件,判斷賬號和密碼輸入框內(nèi)容分別是否是abc、123。如果賬號和密碼輸入正確或錯誤,向id為show對象中插入提示內(nèi)容。

效果圖如下所示:

五、總結(jié)

1.本文基于JavaScript基礎(chǔ),實現(xiàn)用戶登錄的功能。對每一個div層進行詳解,讓讀者更好的理解。

2.在JavaScript中首先獲取操作元素的對象,給指定元素添加失去焦點事件,之后,檢驗指定元素失去焦點,它的value值是否為空,檢驗表單是否為空。最后處理登錄按鈕的事件。主要是幫助大家理解焦點事件的知識點!

3.代碼沒有那么復(fù)雜,希望對你有所幫助!

 

責任編輯:姜華 來源: 前端進階學習交流
相關(guān)推薦

2021-03-16 10:00:40

JavaScript用戶登錄表單JavaScript基

2024-12-26 16:13:53

JavaScript開發(fā)表單

2016-09-14 21:28:25

JavaScript事件代理委托

2021-09-06 10:21:27

JavaScript表單對象 前端

2013-11-29 09:26:40

綜合布線萬兆銅纜智能管理

2021-07-27 22:56:00

JavaScript編程開發(fā)

2016-09-06 21:37:41

2016-10-19 14:35:20

JavaScript函數(shù)式編程

2011-03-07 09:41:10

JavaScript

2009-07-24 17:30:37

Javascript閉

2021-02-07 22:59:55

JavaScript編程方法鏈

2009-08-12 15:20:21

C#事件處理

2010-09-28 14:12:50

Javascript

2011-03-10 14:19:56

JavaScript

2010-04-14 14:14:42

Oracle用戶解鎖

2011-03-08 09:15:04

JavaScript

2022-01-17 21:37:24

JavaScriptHTMLCSS

2009-09-07 04:19:56

C#窗體事件

2009-07-03 14:41:03

2009-07-14 11:34:42

MyEclipse斷點JavaScript
點贊
收藏

51CTO技術(shù)棧公眾號