javascript - 我的 html 表单未提交电子邮件

标签 javascript php html contact-form

我有一个登陆页面 ( http://www.interiorswithaview.com/ ),需要姓名、地址和电话号码。提交表单后,将定向到包含下载的感谢页面:http://www.interiorswithaview.com/ThankYou.html 我还使用 JavaScript(见下文)。我过去使用过这个模板集,我知道它有效,但现在它不发送电子邮件。不知道是不是过时了?请帮忙。

<script src="mail-form.js"></script>

<form method="POST" action="mailer.php" onsubmit="return ValidateRequiredFields();" name="mail">
    <table width="235" height="400" border="0" bgcolor="#d1d3d4" align="center" cellpadding="0" cellspacing="0" style="font-size:13px; font-weight:bold; color:#58585b; padding:5px;">
        <tbody>
            <tr><td colspan="3"><img src="images/Form-header.png" width="200" height="63" alt="" align="center"/></td></tr>
            <tr>
                <td colspan="3">
                    <p align="center" style="padding:0 8px 0 8px;"><strong>Here are three informational guides to help you get started! To download these resources, just enter your information below.</strong></p>
                    <p>
                        <ul style="list-style: none; font-size: 16px; color: #d83e45;">
                            <li>Q & A</li>
                            <li>Case Study</li>
                            <li>Color Consultation</li>
                        </ul>
                    </p>
                </td>
            </tr>
            <tr>
                <td width="55" height="30" align="right" style="padding-right:6px;">Name:</td>
                <td width="163" align="right">
                    <input name="Name" type="text" id="Name" size="23">
                </td>
            </tr>
            <tr>
                <td height="30" align="right" style="padding-right:6px;">Address:</td>
                <td align="right"><input name="Address" type="text" id="Address" size="23"></td>
            </tr>
            <tr>
                <td height="30" align="right" style="padding-right:6px;">Phone:</td>
                <td align="right"><input name="Phone" type="text" id="Phone" size="23"></td>
            </tr>
            <tr>
                <td height="5" align="right" style="padding-right:6px;">&nbsp;</td>
                <td align="right">&nbsp;</td>
            </tr>
            <tr>
                <td height="5" align="right" style="padding-right:6px;">&nbsp;</td>
                <td align="right"><input type="submit" name="submit" id="submit" value="Submit" /></td>
                <td width="1"></td>
            </tr>
        </tbody>
    </table>
</form>

PHP 代码

<?php
if(isset($_POST['submit'])) {
    $email_to = "email@gmail.com";
    $subject = "New Landing Page Consult Lead";
    $name_field = $_POST['Name'];
    $address_field = $_POST['Address'];
    $phone_field = $_POST['Phone'];
    $body = "From: $name_field\n Address: $address_field\n Phone:     $phone_field\n";
    header('Location: ThankYou.html');
    exit();
    mail($to, $subject, $body, "From: $name_field");
}
else {
    echo "what?";
}
?>

JavaScript

var FormName = "mail";
var RequiredFields = "Name,Phone,Address";

function ValidateRequiredFields() {
    var FieldList = RequiredFields.split(",");
    var BadList = new Array();
    for(var i = 0; i < FieldList.length; i++) {
        var s = eval('document.' + FormName + '.' + FieldList[i] + '.value');
        s = StripSpacesFromEnds(s);
        if(s.length < 1) {
            BadList.push(FieldList[i]);
        }
    }
    if(BadList.length < 1) {
        return true;
    }
    var ess = new String();
    if(BadList.length > 1) {
        ess = 's';
    }
    var message = new String('\n\nThe following field' + ess + ' are required:\n');
    for(var i = 0; i < BadList.length; i++) {
        message += '\n' + BadList[i];
    }
    alert(message);
    return false;
}

function StripSpacesFromEnds(s) {
    while((s.indexOf(' ',0) == 0) && (s.length> 1)) {
        s = s.substring(1,s.length);
    }
    while((s.lastIndexOf(' ') == (s.length - 1)) && (s.length> 1)) {
        s = s.substring(0,(s.length - 1));
    }
    if((s.indexOf(' ',0) == 0) && (s.length == 1)) {
        s = '';
    }
    return s;
}

最佳答案

将退出放在邮件之后

header('Location: ThankYou.html');
mail($to, $subject, $body, "From: $name_field");
exit();

关于javascript - 我的 html 表单未提交电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41069793/

相关文章:

javascript - 更改 div 内的 div 样式。里面的 div 有没有任何 id 和 class 的内联 css

javascript - 编辑div高度后鼠标离开

javascript - 使用 JQuery 和 CSS 制作图片库

php - 数据库插入错误

php - JavaScript/PHP 数组

html - 使用 bootstrap list-group-item 的 treeview 的 css 边框样式

javascript - 将 div 最初向右滚动,然后在溢出 div 内向左滚动

javascript - 异步数据加载后提交 HTML 表单的正确方法是什么?

javascript - 错误: Unable to get property 'createEncryptor' of undefined or null reference

javascript - 服务器端广播更新 PHP