JavaScript 如何创建一个可以同时提交表单和下载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文件,并将其下载到用户的设备上。当用户点击网站上的一个按钮时,该功能被激活。The following is an illustration of how to create a PDF using jsPDF −
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。下面是一个同时提交表单和下载PDF的JavaScript按钮的例子。
<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>
在这篇文章中,我们探索了令人兴奋的网络开发世界,发现了如何使用JavaScript创建一个按钮,不仅可以提交表单,还可以一次性下载PDF。我们通过使用HTML来创建一个表单,用JavaScript来处理提交过程,用jsPDF来生成PDF文档的步骤。通过结合这些强大的技术,我们成功地制作了一个按钮,只需一次点击就可以实现这两种功能。我希望这篇文章提供了丰富的信息,让你更清楚地了解如何在JavaScript的帮助下创建一个可以同时提交表单和下载PDF的按钮。