整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          PHP筆記(二) HTML表單

          多數PHP程序都使用HTML表單從用戶那里獲取數據并計算結果。

          HTML表單的一些基本原則

          • 選擇適合于收集的數據類型和提供交互方式的控件。
          • 清楚標記每一個控件,這樣用戶就可以理解其功能。
          • 盡可能將標簽對齊。將控件的左邊緣對齊。
          • 將相關的標簽分組,并且通過設計中使用空白將每一個分組分開。
          • 表單上的控件順序應該類似于用戶操作他們的順序。

          創建基本HTML表單

          首先創造一個基本的HTML大綱,包含表單控件;然后將控件進行合并(HTML表單必須包括一個提交按鈕,用戶單擊它可以將表單數據發送到服務器。)一個單獨的HTML頁面可以包含多個表單。

          • 創建HTML結構

          包含表單的HTML結構和和普通的HTML結構一樣。

          <HTML>
            <HEAD>
            <TITLE>標題放在這</TITLE>
            </HEAD>
          <BODY>
            表單頁面放在這
            </BODY>
            </HTML>

          在包含表單的HTML頁面中可以使用任何HTML標簽。基本的表單使用FROM標簽來說明。該標簽中METHOD屬性接收GET或POST兩個值中的一個。ACTION屬性子明PHP腳本的url,該腳本可以收集通過表單收集的數據,可以是絕對路徑或者相對路徑

          <FORM METHOD="method" ACTION="url"> 
            中間可以放置表單控件
            </FORM>
          • 合并控件

          兩個常用的基本控件:文本框和提交按鈕。

          文本框:允許用戶鍵入信息以發送給PHP腳本。NAME屬性為文本提供名稱,PHP腳本可以通過名稱準確訪問其內容,因此它應該是唯一的且符合PHP變量命名規則(但不需要$符號),單標簽。VALUE屬性指明出現在提交按鈕上面的標題。創建方式如下:

          <INPUT TYPE = "TEXT" NAME="text">

          提交按鈕:允許用戶將一個表單的內容發送到服務器,一個HTML表單對應應該有一個提交按鈕。

          示例:一個完整的HTML表單。

          <HTML>
            <HEAD>
            <TITLE>標題</TITLE>
            </HEAD>
          <BODY>
          <FORM METHOD="POST" ACTION="phpinfo.php">
          <INPUT TYPE="TEXT" NAME="user_name">
          <BR/>
          <BR/>
          <INPUT TYPE="TEXT" NAME="user_email">
          <BR/>
          <BR/>
          <INPUT TYPE="SUBMIT" VALUE="Send the Data">
          </FORM>
            </BODY>
            </HTML>


          • 使用多個表單

          可以在一個HTML頁面中包含多個表單,注意下一個表單的FORM開始之前需要結束前一個FORM表單。

          <HTML>
            <HEAD>
            <TITLE>標題</TITLE>
            </HEAD>
          <BODY>
            
          <FORM METHOD="POST" ACTION="phpinfo.php">
          <INPUT TYPE="TEXT" NAME="user_name">
          <BR/>
          <BR/>
          <INPUT TYPE="TEXT" NAME="user_email">
          <BR/>
          <BR/>
          <INPUT TYPE="SUBMIT" VALUE="Send the Data">
          <BR/>
          <BR/>
          </FORM>
          
          <FORM METHOD="POST" NAME="phpinfo.php">
          <INPUT TYPE="TEXT" NAME="user_name1">
          <BR/>
          <BR/>
          <INPUT TYPE="TEXT" NAME="user_email1">
          <BR/>
          <BR/>
          <INPUT TYPE="SUBMIT" VALUE="Send the Data1">
          </FORM>
          
            </BODY>
            </HTML>


          創建表單控件

          • 創建自定義的文本框

          文本框的屬性中,TYPE和NAME是必須的,其余是可選屬性。SIZE屬性用于設置文本框的可視大小;MAXLENGTH指明用戶鍵入字符的最大長度;VALUE給出了一個最初顯示在文本框中的值。

          <input type="text" name="" size="" maxlength="" value="">
          • 創建文本區域

          文本區域可以輸入多行文本。NAME和ROWS屬性是必須的。ROWS屬性表明了文本區域內可以看到的文本行數,充滿時會滾動。COLS屬性指明可見文本列數與行數類似。WRAP屬性指明文本區域內單詞換行的方式,可以指定如下值。該標簽為雙標簽。

          說明

          off

          禁止單詞換行但用戶可以輸入換行符強制換行

          virtual/soft

          各行顯示為換行,但是換行并沒有被發送到服務器

          physica/hard

          啟用了單詞換行

          <inputarea name="" rows="" cols="" wrap="">
          • 創建密碼框

          創建密碼框的語法與文本框相同,但要將TYPE屬性指定為PASSWORD而不是TYPE。

          <input type="password" name="" size="" maxlength="" value="">
          • 創建復選框

          取兩個值中的一個,即二選一。TYPE屬性是必須的,checked屬性出現,該復選框默認情況會被選定。value屬性指定復選框被選定情況下被發送到服務器的值,默認發送on值。法如下:

          <input type="checkbox" name="" checked value="">
          • 創建單選按鈕

          語法與復選框屬性含義相同,但是TYPE屬性的值必須是RADIO,NAME屬性是必須的。

          <input type="radio" name="" checked value="">
          • 創建列表框

          用戶可以選擇一個或者多個選項,它是一個滾動菜單。

          <select name="" multipile size="">options go here</select>

          name屬性是必須的,multipile屬性指明用戶可以通過按下crtl鍵并單擊多個選項來選擇它們

          列表框的單選行為可作為單選按鈕。

          <option selected value="text"></options>
          • 創建隱藏域
          <input type="hidden" name="text"value="">
          • 實現上傳文件的HTML表單
          <input type="FILE" name="name" accept="time" value="text">

          其中type屬性是必須的。格式通過使用MIME碼指定。常用的格式如下:


          超文本標記語言文本 .html,.html text/html

            普通文本 :txt text/plain

            word文檔:application/msword

            RTF文本 :rtf application/rtf

            GIF圖形 :gif image/gif

            JPEG圖形 :jpeg,

            jpg: image/jpeg

            au聲音文件:au audio/basic

            MIDI音樂文件 :mid,.midi audio/midi,audio/x-midi

            RealAudio音樂文件 .ra, .ram audio/x-pn-realaudio

            MPEG文件 .mpg,.mpeg video/mpeg

            AVI文件 .avi video/x-msvideo

            GZIP文件 .gz application/x-gzip

            壓縮文件.rar application/octet-stream

            壓縮文件.zip application/x-zip-compressed

            TAR文件 .tar application/x-tar


          更多提交表單的信息

          • 使用圖像提交數據
          <input type="image" src="url" name="text" align="align">
          • 創建重置按鈕
          <input type="reset" value="text">

          前端開發中,我們經常需要知道網頁的DOM(文檔對象模型)是否已經加載完畢。對于初學者來說,這可能聽起來有些復雜,但其實我們可以通過簡單的JavaScript代碼來實現這一目標,而不需要依賴任何框架或庫。本文將帶你一步步了解如何實現這一點。

          什么是DOM?

          在講具體方法之前,我們先來了解一下什么是DOM。DOM(文檔對象模型)是網頁的結構化表示,它將HTML文檔表示為一個樹形結構。瀏覽器會解析HTML并生成DOM樹,我們可以使用JavaScript對這個DOM樹進行操作,從而改變網頁的內容和樣式。

          檢查DOM是否準備好的方法

          要檢查DOM是否準備好,我們主要使用兩個事件:DOMContentLoadedload。它們的區別在于:

          • DOMContentLoaded事件在初始的HTML被完全加載和解析完成后觸發,但不等待樣式表、圖片等資源加載。
          • load事件在頁面所有資源(包括樣式表、圖片等)加載完成后觸發。

          我們可以使用這兩個事件來確定頁面的加載狀態,并結合document.readyState屬性來判斷DOM是否已準備好。

          具體代碼實現

          下面是具體的代碼示例:

          window.addEventListener("DOMContentLoaded", () => {
            if (document.readyState === "complete") {
              console.log('DOM已完全加載');
            } else if (document.readyState === "interactive") {
              console.log('DOM已準備好,但資源仍在加載');
            }
          });
          
          window.addEventListener("load", () => {
            if (document.readyState === "complete") {
              console.log('所有資源已加載完成');
            } else if (document.readyState === "interactive") {
              console.log('DOM已準備好,但資源仍在加載');
            }
          });

          在這段代碼中,我們使用了window.addEventListener來監聽DOMContentLoadedload事件。當這些事件觸發時,會執行相應的回調函數。在回調函數中,我們檢查document.readyState屬性的值:

          • 如果值是'complete',表示DOM已經完全加載,所有資源也已經加載完成。
          • 如果值是'interactive',表示DOM已準備好,但一些資源(如圖片、框架等)仍在加載中。

          為什么要這樣做?

          了解DOM的加載狀態對于前端開發非常重要。例如,如果你想在DOM完全加載后執行一些初始化操作,就需要確保這些操作不會在DOM未準備好的情況下執行。通過監聽這些事件,你可以確保在合適的時機執行相應的代碼,提高代碼的穩定性和性能。

          結束

          在不使用任何JavaScript框架或庫的情況下,我們可以通過監聽DOMContentLoadedload事件,以及檢查document.readyState屬性的值,來確定DOM是否已準備好。這種方法簡單高效,非常適合初學者學習和使用。

          細版:

          1、瀏覽器會開啟一個線程來處理這個請求,對 URL 分析判斷,如果是 http 協議就按照 Web 方式來處理;

          2、調用瀏覽器內核中的對應方法,比如 WebView 中的 loadUrl 方法;

          3、通過DNS解析獲取網址的IP地址,設置 UA 等信息發出第二個GET請求;

          4、進行HTTP協議會話,客戶端發送報頭(請求報頭);

          5、進入到web服務器上的 Web Server,如 Apache、Tomcat、Node.JS 等服務器;

          6、進入部署好的后端應用,如 PHP、Java、JavaScript、Python 等,找到對應的請求處理;

          7、處理結束回饋報頭,此處如果瀏覽器訪問過,緩存上有對應資源,會與服務器最后修改時間對比,一致則返回304;

          8、瀏覽器開始下載html文檔(響應報頭,狀態碼200),同時使用緩存;

          9、文檔樹建立,根據標記請求所需指定MIME類型的文件(比如css、js),同時設置了cookie;

          10、頁面開始渲染DOM,JS根據DOM API操作DOM,執行事件綁定等,頁面顯示完成。

          簡潔版:

          瀏覽器根據請求的URL交給DNS域名解析,找到真實IP,向服務器發起請求;

          服務器交給后臺處理完成后返回數據,瀏覽器接收文件(HTML、JS、CSS、圖象等);

          瀏覽器對加載到的資源(HTML、JS、CSS等)進行語法解析,建立相應的內部數據結構(如HTML的DOM);

          載入解析到的資源文件,渲染頁面,完成。


          主站蜘蛛池模板: 国产福利电影一区二区三区久久久久成人精品综合 | 99精品高清视频一区二区| 国产精品视频一区二区三区不卡| 日本一区二区免费看| 国产精品亚洲一区二区三区久久| 高清无码一区二区在线观看吞精| 亚洲午夜精品一区二区| 99久久精品国产高清一区二区| 亚洲熟妇无码一区二区三区导航| 在线视频亚洲一区| 亚洲丰满熟女一区二区哦| 亚洲线精品一区二区三区影音先锋| 国产精品综合一区二区三区| 在线中文字幕一区| 亚洲日本va午夜中文字幕一区| 国产精品毛片一区二区| 国产精品盗摄一区二区在线| 亚洲综合无码一区二区痴汉| 亚洲福利一区二区精品秒拍| 香蕉久久av一区二区三区| 国产福利精品一区二区| 精品国产一区二区三区香蕉| 欧美日韩一区二区成人午夜电影 | 亚洲色婷婷一区二区三区| 一区二区三区在线| 国产伦精品一区二区免费 | 精品人妻一区二区三区四区在线| 中文字幕久久亚洲一区| 手机看片福利一区二区三区 | 国内精品无码一区二区三区| 日韩人妻无码一区二区三区久久99| 一区二区三区免费视频观看| 无码精品人妻一区二区三区影院 | 人妻av无码一区二区三区| 亚洲视频免费一区| 亚洲AV无码一区二区三区久久精品 | 久久久久人妻精品一区三寸蜜桃| 区三区激情福利综合中文字幕在线一区| 亚洲av成人一区二区三区在线播放| 亚洲国产高清在线精品一区| 性盈盈影院免费视频观看在线一区|