如何在靜態(tài)網(wǎng)站中實現(xiàn)表單

網(wǎng)站的設(shè)計、目的和復(fù)雜程度各不相同,但一般分為靜態(tài)和動態(tài)兩種。靜態(tài)網(wǎng)站預(yù)先渲染,向所有訪問者提供相同的內(nèi)容。它們結(jié)構(gòu)簡單,通常易于管理,加載速度快。另一方面,動態(tài)網(wǎng)站使用服務(wù)器端編程語言即時生成內(nèi)容。

靜態(tài)網(wǎng)站通常不支持直接在網(wǎng)站上處理表單等互動元素,因為這類操作需要服務(wù)器來存儲和處理數(shù)據(jù)。但這里有個問題:表單是用戶與我們交流的重要橋梁。通過表單,我們可以獲取用戶的寶貴建議或詢問,從而根據(jù)這些反饋來優(yōu)化我們的網(wǎng)站內(nèi)容,為用戶帶來更好的體驗。不過,靜態(tài)網(wǎng)站無法直接完成這一任務(wù),所以我們可以通過定制內(nèi)容來改善用戶體驗。

圖片[1]-如何在靜態(tài)網(wǎng)站中實現(xiàn)表單-光子波動網(wǎng) | 專業(yè)WordPress修復(fù)服務(wù),全球范圍,快速響應(yīng)

選擇表單處理服務(wù)

表單處理服務(wù)是為靜態(tài)網(wǎng)站收集和處理表單數(shù)據(jù)的第三方。它們提供處理表單提交所需的服務(wù)器端基礎(chǔ)設(shè)施,在保持靜態(tài)網(wǎng)站優(yōu)勢的同時增強網(wǎng)站的功能和互動性。

當用戶提交表單時,數(shù)據(jù)會被發(fā)送到表單處理服務(wù)的端點。然后,服務(wù)會對數(shù)據(jù)進行處理、安全存儲,并向適當?shù)慕邮照甙l(fā)送通知。表單處理服務(wù)有很多。讓我們來了解一下最流行的表單處理服務(wù)。

1. ?Formspree

Formspree?是一種用戶友好的表單處理服務(wù),可簡化靜態(tài)站點中添加表單和管理表單提交的過程。它提供具有基本功能(例如每月 50 份表單提交)的免費版,以及具有更高級功能(包括安全列表和垃圾郵件防護)的付費版。

2. Formbucket

FormBucket?提通過將表單保存到 “桶 “中,為收集和管理表單提交提供了一種便捷的方式,每個 “桶 “都有一個唯一的 URL。你可以通過 Formbucket 用戶友好的儀表板頁面為表單定義字段和設(shè)置驗證規(guī)則,使其與你的網(wǎng)站品牌相一致。

3. ?Getform

Getform?是一個表單后端平臺,為處理表單提交提供了一種簡單而安全的方式。Getform 提供直觀的用戶界面,用于管理表單提交、電子郵件通知以及與 Slack 和 Google Sheets 等流行服務(wù)的集成。

圖片[2]-如何在靜態(tài)網(wǎng)站中實現(xiàn)表單-光子波動網(wǎng) | 專業(yè)WordPress修復(fù)服務(wù),全球范圍,快速響應(yīng)

使用 Getform 設(shè)置表單處理服務(wù)

使用 Getform 等表單處理服務(wù)可以大大簡化網(wǎng)站上的表單提交管理。當用戶提交表單時,Getform 會接管整個過程,無需后臺 API 來處理和存儲這些提交。

通過這種無縫集成,你可以在專用的消息收件箱中有效地管理所有回復(fù)。要開始使用,要對HTML、CSSJavaScript有基本的了解,并按照以下步驟操作:

  1. 注冊?Getform 帳戶。
  2. 到你的 Getform 帳戶儀表盤并單擊+ 創(chuàng)建?按鈕。
  3. 在出現(xiàn)的對話框中,確保?選擇“表單”?。提供描述性端點名稱并選擇適當?shù)臅r區(qū)。然后,單擊“創(chuàng)建”。
圖片[3]-如何在靜態(tài)網(wǎng)站中實現(xiàn)表單-光子波動網(wǎng) | 專業(yè)WordPress修復(fù)服務(wù),全球范圍,快速響應(yīng)

Getform 將生成表單提交端點 URL,必須將其添加到表單元素的 action 屬性中。

使用 HTML 和 CSS 創(chuàng)建表單

設(shè)置好表單處理服務(wù)后,就可以使用 HTML、CSS 和 JavaScript 創(chuàng)建表格了。

1.在終端中,創(chuàng)建一個名為forms的項目文件夾?,并將當前目錄更改為項目目錄:mkdir forms

mkdir forms
cd forms

    2.添加以下項目文件:

    #unix-based systems
    touch index.html styles.css script.js 
    
    #windows
    echo. > index.html & echo. > styles.css & echo. > script.js

    3.接下來,創(chuàng)建一個 HTML 表單。在本指南中,下面提供的代碼將幫助你創(chuàng)建一個表單,其中包括姓名和電子郵件地址輸入框、信息文本區(qū)和提交按鈕??梢詫⒋舜a添加到你的 index.html 文件中:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Contact Form</title>
        <link rel="stylesheet" href="styles.css">
    </head>
    <body>
        <div class="container">
            <h1 class="form-title">Contact Us</h1>
            <form class="contact-form" name="contactForm" action="<Getform URL>" method="POST">
                <div class="input-group">
                    <label for="name" class="form-label">Name:</label>
                    <input type="text" id="name" name="name" class="form-input" required>
    
                    <label for="email" class="form-label">Email:</label>
                    <input type="email" id="email" name="email" class="form-input" required>
    
                    <label for="message" class="form-label">Message:</label>
                    <textarea id="message" name="message" class="form-textarea" rows="4" required>
                    </textarea>
                </div>
    
                <div class="form-control">
                    <button type="submit" id="submitBtn" class="form-submit">Submit</button>
                </div>  
            </form>
        </div>
        <script src="script.js"></script>
    </body>
    </html>

    4.導(dǎo)航至 Getform 面板并復(fù)制端點 URL。然后,將此 URL 粘貼到 HTML 代碼中表單開頭標簽內(nèi)的 action 屬性中。
    5.最后,在 styles.css 文件中添加 CSS 樣式,自定義表單的設(shè)計和外觀。

    圖片[4]-如何在靜態(tài)網(wǎng)站中實現(xiàn)表單-光子波動網(wǎng) | 專業(yè)WordPress修復(fù)服務(wù),全球范圍,快速響應(yīng)

    使用 JavaScript 實現(xiàn)數(shù)據(jù)驗證

    在處理或存儲之前,數(shù)據(jù)驗證會檢查用戶輸入是否符合特定的標準和驗證規(guī)則。執(zhí)行數(shù)據(jù)驗證有助于避免提交錯誤或惡意數(shù)據(jù),為用戶提供輸入錯誤的即時反饋,并確保只有有效數(shù)據(jù)才能得到進一步處理。它在維護數(shù)據(jù)完整性和準確性方面起著至關(guān)重要的作用。

    實現(xiàn)數(shù)據(jù)驗證有幾種方法,包括使用 JavaScript 執(zhí)行客戶端驗證、服務(wù)器端驗證或兩種方法的結(jié)合。在本文中,我們將對聯(lián)系表單實施客戶端驗證,以確保用戶不會提交空字段,并確保所提供的電子郵件格式正確。

    1.首先,通過將以下代碼添加到script.js?文件來定義驗證函數(shù):

    function validateForm() {
        const name = document.getElementById('name').value;
        const email = document.getElementById('email').value;
        const message = document.getElementById('message').value;
        if (name.trim() === '' || message.trim() === '') {
            alert('Please fill out all fields.');
            return false;
        }
        const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
        if (!emailRegex.test(email)) {
            alert('Please enter a valid email address.');
            return false;
        }
        return true;
    }

    validateForm() 函數(shù)有兩個作用:首先,它檢查姓名和信息字段是否為空,然后使用正則表達式驗證電子郵件字段,并檢查電子郵件地址是否為有效格式。

    如果字段為空或電子郵件格式無效,函數(shù)將觸發(fā)并顯示一條警報信息。反之,如果所有表單字段都通過了這些驗證檢查,則函數(shù)返回 true,表單提交。

    圖片[5]-如何在靜態(tài)網(wǎng)站中實現(xiàn)表單-光子波動網(wǎng) | 專業(yè)WordPress修復(fù)服務(wù),全球范圍,快速響應(yīng)

    還可以添加其他驗證規(guī)則,以確保提交數(shù)據(jù)的準確性和完整性。例如,可以驗證用戶輸入的長度,或限制用戶在信息中提交某些字符,從而幫助防止?jié)撛诘陌踩┒矗ㄈ缱⑷牍簦?/p>

    2.接下來,調(diào)用上面的函數(shù),使用點擊事件監(jiān)聽器回調(diào)啟用驗證。每次用戶點擊提交按鈕時,該回調(diào)都會觸發(fā)函數(shù)。要調(diào)用該函數(shù),請在 script.js 文件中添加以下代碼:

    document.addEventListener('DOMContentLoaded', function () {
    	const submitButton = document.getElementById('submitBtn');
    
    	if (submitButton) {
    		submitButton.addEventListener('click', function (event) {
    			event.preventDefault();
    			if (validateForm()) {
    				document.forms['contactForm'].submit();
    				resetFormAfterSubmission();
    			}
    			return false;
    		});
    	}
    });
    
    function resetFormAfterSubmission() {
    	setTimeout(function () {
    		const contactForm = document.forms['contactForm'];
    		contactForm.reset();
    	}, 500);
    }

    注意,代碼中包含 preventDefault() 函數(shù),用于阻止默認表單提交操作。這樣,你就可以在向 Getform 提交信息之前驗證表單。

    在成功驗證和提交后,會觸發(fā) resetFormAfterSubmission() 函數(shù),在半秒延遲后重置表單,以便允許更多提交。

    總結(jié)

    現(xiàn)在,已經(jīng)成功實施了表單,有無數(shù)機會可以對其進行自定義。例如,可以使用 CSS 或你喜歡的預(yù)處理器語言進一步設(shè)計表單樣式,并實施高級驗證技術(shù),從而增強表單的設(shè)計和功能。


    聯(lián)系我們
    教程看不懂?聯(lián)系我們?yōu)槟赓M解答!免費助力個人,小企站點!
    客服微信
    客服微信
    電話:020-2206-9892
    QQ咨詢:1025174874
    郵件:info@361sale.com
    工作時間:周一至周五,9:30-18:30,節(jié)假日休息
    ? 轉(zhuǎn)載聲明
    本文作者:Harry
    THE END
    喜歡就支持一下吧
    點贊0 分享
    評論 搶沙發(fā)

    請登錄后發(fā)表評論

      暫無評論內(nèi)容