1

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

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

我已经完成了 html,但是 post 操作和 JavaScript 让我很生气。找了4个小时。把叉子插在我身上。我受够了。

4

3 回答 3

1

听起来您需要验证表单,然后将其发送到服务器,然后重新验证(无法插入 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 现在如何不重新修改表单,所以当有人提交一个空表单时,它仍然会在电子邮件中发送。

于 2008-11-15T11:39:12.970 回答
0

好的,首先,我们需要澄清你的措辞。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

于 2008-11-15T07:34:15.523 回答
0

你的表单听起来像一个FormMail-form,它是专门为发送邮件而设计的,它实际上并不需要javascript,但它肯定需要一些隐藏字段,而且你特别想提取的所有信息都必须有自己的部分/表单中的字段。

那么,问题是什么?-)

于 2008-11-15T08:57:06.073 回答