首頁 > web前端 > js教程 > 如何建立一個同時提交表單和下載 pdf 的按鈕?

如何建立一個同時提交表單和下載 pdf 的按鈕?

王林
發布: 2023-09-03 11:05:09
轉載
1091 人瀏覽過

如何创建一个同时提交表单和下载 pdf 的按钮?

透過使用 HTML、JavaScript 和 jsPDF,我們可以建立一個可以同時提交表單和下載 pdf 的按鈕。我們將使用 HTML 建立表單,使用 JavaScript 處理提交流程,並使用 jsPDF 產生 PDF 文件。提交表單和取得 PDF 的行為是最常見的用例之一。在網路上,PDF 是一種常見的文件格式。它們可用於追蹤合約、發票和其他關鍵數據。在許多情況下,在收到 PDF 之前需要提交表格。讓我們詳細討論一下完整的過程。

開發表單

對於任何線上申請,表格都是必要的組成部分。它們使我們能夠收集用戶資料並將其傳輸到伺服器。我們將使用 HTML 來建立表單。這是一個帶有五個輸入欄位的簡單表單的範例 -

<form>
   <h2>Tutorials point Contact Form</h2>
   <label for="name">Enter your Name:</label>
   <input type="text" id="name" name="name"><br><br>
   <label for="email">Enter your Email:</label>
   <input type="email" id="email" name="email"><br><br>
   <label for="phone">Enter your Ph.no.:</label>
   <input type="tel" id="phone" name="phone"><br><br>
   <label for="city">Enter your City:</label>
   <input type="text" id="city" name="city"><br><br>
   <label for="state">Enter your current State:</label>
   <input type="text" id="state" name="state"><br><br>
   <button onclick="downloadPDF()">Submit & Download PDF</button>
</form>
登入後複製

我們將使用名為 downloadPDF() 的函數來同時下載並提交表單。

function downloadPDF() { .....CODE HERE …… }
<button onclick="downloadPDF()">Submit & Download PDF/button>
登入後複製

產生 PDF

我們將使用 jsPDF 套件來建立 PDF。用於建立 PDF 的 JavaScript 客戶端程式庫稱為 jsPDF。無需任何伺服器端處理,它使我們能夠立即產生 PDF。此程式碼中包含的 JavaScript 方法會建立 PDF 檔案並將其下載到使用者的裝置。當使用者點擊網站上的按鈕時,該功能就會啟動。以下是如何使用 jsPDF 建立 PDF 的說明 -

function downloadPDF() { .....CODE HERE …… }
function downloadPDF() {
   var name = document.getElementById("name").value;
   var email = document.getElementById("email").value;
   var phone = document.getElementById("phone").value;
   var city = document.getElementById("city").value;
   var state = document.getElementById("state").value;
   var doc = new jsPDF();
   doc.text(20, 20, "Name: " + name);
   doc.text(20, 30, "Email: " + email);
   doc.text(20, 40, "Phone: " + phone);
   doc.text(20, 50, "City: " + city);
   doc.text(20, 60, "State: " + state);
   doc.save("form.pdf");
} 
登入後複製

整合表單和 PDF 產生

我們現在可以將兩者結合起來,因為我們有一個用於建立 PDF 的表單和方法。我們將設計一個按鈕,用於同時提交表單並下載 PDF。下面是一個 JavaScript 按鈕的範例,它同時提交表單並下載 PDF -

<html>
<head>
   <script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.5.3/jspdf.min.js"></script>
   <style>
      form {
         margin: 20px auto;
         padding: 20px;
         border: 1px solid gray;
         border-radius: 5px;
         width: 500px;
         text-align: center;
      }
      label {
         display: inline-block;
         width: 120px;
         text-align: left;
         margin-right: 10px;
      }
      input[type="text"], 
      input[type="email"],
      input[type="tel"] {
         padding: 10px;
         font-size: 18px;
         border-radius: 5px;
         border: 1px solid gray;
         width: 250px;
         margin-bottom: 20px;
      }
      button {
         margin-top: 20px;
         padding: 10px 20px;
         border-radius: 5px;
         background-color: green;
         color: white;
         font-size: 18px;
         cursor: pointer;
      }
   </style>
   <script>
      function downloadPDF() {
         var name = document.getElementById("name").value;
         var email = document.getElementById("email").value;
         var phone = document.getElementById("phone").value;
         var city = document.getElementById("city").value;
         var state = document.getElementById("state").value;
         var doc = new jsPDF();
         doc.text(20, 20, "Name: " + name);
         doc.text(20, 30, "Email: " + email);
         doc.text(20, 40, "Phone: " + phone);
         doc.text(20, 50, "City: " + city);
         doc.text(20, 60, "State: " + state);
         doc.save("form.pdf");
      }
   </script>
</head>
<body>
   <form>
      <h2>Tutorials point Contact Form</h2>
      <label for="name">Enter your Name:</label>
      <input type="text" id="name" name="name"><br><br>
      <label for="email">Enter your Email:</label>
      <input type="email" id="email" name="email"><br><br>
      <label for="phone">Enter your Ph.no.:</label>
      <input type="tel" id="phone" name="phone"><br><br>
      <label for="city">Enter your City:</label> 
      <input type="text" id="city" name="city"><br><br>
      <label for="state">Enter your current State:</label>
      <input type="text" id="state" name="state"><br><br>
      <button onclick="downloadPDF()">Submit & Download PDF</button>
   </form>
</body>
</html>
登入後複製

在本文中,我們探索了令人興奮的 Web 開發世界,並了解如何建立一個按鈕,不僅可以提交表單,還可以使用 JavaScript 一次下載 PDF。我們逐步完成了使用 HTML 建立表單、使用 JavaScript 處理提交流程以及使用 jsPDF 產生 PDF 文件的步驟。透過結合這些強大的技術,我們成功製作了一個只需點擊即可執行這兩種功能的按鈕。我希望本文內容豐富,讓您更清楚地了解如何在 JavaScript 的幫助下建立一個同時提交表單和下載 PDF 的按鈕。

以上是如何建立一個同時提交表單和下載 pdf 的按鈕?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板