我是一个有着简单需求的简单灵魂,我正在尝试配置一个表单。我讨厌表格。
它需要有 JavaScript 来传输数据,需要将包含数据的电子邮件发送到电子邮件地址,并且需要将访问者重定向到 pdf。CGI 一直让我感到困惑,而且我对 JavaScript 了解不多。
我已经完成了 html,但是 post 操作和 JavaScript 让我很生气。找了4个小时。把叉子插在我身上。我受够了。
我是一个有着简单需求的简单灵魂,我正在尝试配置一个表单。我讨厌表格。
它需要有 JavaScript 来传输数据,需要将包含数据的电子邮件发送到电子邮件地址,并且需要将访问者重定向到 pdf。CGI 一直让我感到困惑,而且我对 JavaScript 了解不多。
我已经完成了 html,但是 post 操作和 JavaScript 让我很生气。找了4个小时。把叉子插在我身上。我受够了。
听起来您需要验证表单,然后将其发送到服务器,然后重新验证(无法插入 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 现在如何不重新修改表单,所以当有人提交一个空表单时,它仍然会在电子邮件中发送。
好的,首先,我们需要澄清你的措辞。JavaScript 和 Java 是两种截然不同的语言。
为了发送邮件,您需要使用与 SMTP 服务器结合使用的任何语言,这必须是实际发送电子邮件的语言,而不是客户端的 JavaScript。
可以在此处找到使用 JavaScript 发布到 SMTP 服务器的示例(尽管我不推荐这种方法,因为 ActiveX 是 IE 独有的): http ://www.ostrosoft.com/smtp_component/smtp_javascript.asp
最终使用 JavaScript,您将使用的最佳方法只是发布到非 SMTP 服务器,然后将数据发送到 SMTP 服务器。
如果您实际使用 Java,则可以添加一个名为 JavaMail 的可选库,以便更轻松地发送邮件,但同样,您需要与 SMTP 服务器通信。
可以在此处找到 JavaMail 的示例: http ://www.javapractices.com/topic/TopicAction.do?Id=144
你的表单听起来像一个FormMail-form,它是专门为发送邮件而设计的,它实际上并不需要javascript,但它肯定需要一些隐藏字段,而且你特别想提取的所有信息都必须有自己的部分/表单中的字段。
那么,问题是什么?-)