用于 HTML 表单的 JavaScript

标签 javascript html forms webforms

我是一个简单的灵魂,有简单的需求,我正在尝试配置一个表单。我讨厌表格。

它需要 JavaScript 来传输数据,需要将包含数据的电子邮件发送到电子邮件地址,并且需要将访问者重定向到 pdf。 CGI 一直让我感到困惑,而且我不太了解 JavaScript。

我已经完成了 html,但是 post 操作和 JavaScript 快要杀了我。已经找了4个小时了。把 fork 插在我身上。我已经完成了。

最佳答案

听起来您需要验证表单,然后将其发送到服务器,然后重新验证(无法插入 JavaScript)并将邮件请求发送到电子邮件服务器。

我建议服务器使用 PHP 来重新验证表单并将请求发送到电子邮件服务器,因为它简单且得到广泛支持。

假设你有这个 HTML

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="script.js"></script>
<form id="emailForm" method="post" action="mail.php">
    <input type='text' name='firstName' id="firstName"><br>
    <input type='text' name='lastName' id='lastname'><br>
    <input type='submit' value='submit' name='submit'>
</form>

您可以使用 javascript 和 jQuery 验证用户是否在所有字段中输入了内容。 在 script.js 文件中输入:

var formIsOkay = true;
$(document).ready( function() {
$('#emailForm').submit( function() {
    $('#emailForm input').each( function() {
         if ( this.val() == '' ) { formIsOkay = false; }
    }
    return formIsOkay;
}
}

然后在 email.php 中你会看到这样的内容:

 <?php
 $to =  'email@domain.com';
 $from = 'email@domain.com';
 $subject = 'Form';
 $message = 'Hello, the following variables were supplied:<br>';
 foreach($_POST as $key => $val){
     $message .= "$key = $val<br>";
 }
 $message = wordwrap($message, 70);
 $headers  = 'MIME-Version: 1.0' . "\r\n";
 $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
 $headers .= "To: $to" . "\r\n";
 $headers .= "From: $from" . "\r\n";
 mail($to, $subject, $message, $headers);
 ?>

为此,您需要在服务器上运行 PHP,并在 php 中设置 SMTP 服务器,但大多数服务器都有这个。 顺便说一句,请注意 PHP 现在不会重新启用表单,因此当有人提交空表单时,该表单仍会通过电子邮件发送。

关于用于 HTML 表单的 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/292256/

相关文章:

python - Django 复合查询集

javascript - 一键提交多表单

javascript - Selectize.js 在 "onItemAdd"回调中获取更多数据

javascript - 与nodejs程序连接时出现错误: connect ECONNREFUSED 127. 0.0.1:5432

javascript - 连接两个字段并使用该值来更改/设置隐藏字段的值

javascript - 如何在 Bootstrap 多选中添加标签?

jquery - JSONP 调用不适用于支持 apple-mobile-web-app 的 ="yes"

HTML5 "number"类型输入 - 向上/向下箭头不精确的点击错误

Javascript 选择 onchange 提交表单

javascript - 可拖动的 HTML <form> 输入