1

我正在尝试制作 HTML 联系表格。这是我的代码`取得联系

                    <p class="success-sending-message">Thank you, your message has been sent!</p>
                    <p class="error-sending-message">There has been an error, please try again.</p>

                    <div id="contact-form">

                        <form action="" id="contactForm" class="styled" method="post">

                            <label for="contact_name">Name</label>
                            <input type="text" tabindex="3" id="contact_name" name="contact_name" value="" class="requiredField textbox" />

                            <label for="contact_email">Email</label>
                            <input type="text" tabindex="4" id="contact_email" name="contact_email" value="" class="requiredField email textbox" />

                            <label for="contact_subject">Subject</label>
                            <input type="text" tabindex="5" id="contact_subject" name="contact_subject" value="" class="requiredField textbox" />

                            <label for="contact_message">Your Message</label>
                            <div class="textarea-wrap">
                                <textarea cols="65" rows="9" tabindex="6" id="contact_message" name="contact_message" class="requiredField"></textarea>
                            </div>

                            <div class="form-section">
                                <button class="button" tabindex="7" type="submit" id="born-submit" name="born-submit">Send Message</button>
                                <input type="hidden" name="submitted" id="submitted" value="true" />
                                <span class="sending-message"><img src="css/images/loading-light.gif" /> Sending...</span>
                            </div>
                        </form>
                    </div>`

这是我的验证脚本

$(window).load(function() {

/* Ajax Contact form validation and submit */
jQuery('form#contactForm').submit(function() {
    jQuery(this).find('.error').remove();
    var hasError = false;
    jQuery(this).find('.requiredField').each(function() {
        if(jQuery.trim(jQuery(this).val()) == '') {
            if (jQuery(this).is('textarea')){
                jQuery(this).parent().addClass('input-error');
            } else {
                jQuery(this).addClass('input-error');
            }
            hasError = true;
        } else if(jQuery(this).hasClass('email')) {
            var emailReg = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
            if(!emailReg.test(jQuery.trim(jQuery(this).val()))) {
                jQuery(this).addClass('input-error');
                hasError = true;
            }
        }
    });
    if(!hasError) {
        jQuery(this).find('#born-submit').fadeOut('normal', function() {
            jQuery(this).parent().parent().find('.sending-message').show('normal');
        });
        var formInput = jQuery(this).serialize();
        var contactForm = jQuery(this);
        jQuery.ajax({
            type: "POST",
            url: jQuery(this).attr('action'),
            data: formInput,
            success: function(data){
                contactForm.parent().fadeOut("normal", function() {
                    jQuery(this).prev().prev().show('normal'); // Show success message
                });
            },
            error: function(data){
                contactForm.parent().fadeOut("normal", function() {
                    jQuery(this).prev().show('normal');  // Show error message
                });
            }
        });
    }

    return false;

});

jQuery('.requiredField').blur(function() {
    if(jQuery.trim(jQuery(this).val()) != '' && !jQuery(this).hasClass('email')) {
        if (jQuery(this).is('textarea')){
            jQuery(this).parent().removeClass('input-error');
        } else {
            jQuery(this).removeClass('input-error');
        }
    } else {
        if (jQuery(this).is('textarea')){
            jQuery(this).parent().addClass('input-error');
        } else {
            jQuery(this).addClass('input-error');
        }
    }
});

jQuery('.email').blur(function() {
    emailReg = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
    if(emailReg.test(jQuery.trim(jQuery(this).val())) && jQuery(this).val() != '') {
        jQuery(this).removeClass('input-error');
    } else {
        jQuery(this).addClass('input-error');
    } 
});

jQuery('.requiredField, .email').focus(function(){
    if (jQuery(this).is('textarea')){
        jQuery(this).parent().removeClass('input-error');
    } else {
        jQuery(this).removeClass('input-error');
    }
});

});

我的表格工作正常,填写详细信息后显示“谢谢,您的消息已发送!” 但是这条消息去哪里了,我没有任何 process.php 文件和所有文件。我希望该电子邮件应该发送到我的电子邮件 ID。

4

2 回答 2

0

Bonjour ... 在 firebug 或 chrome 开发者工具控制台中查看帖子跟踪。在您的 php 文件中,您可以放置​​ echos 或 var_dump 以确保一切正常。

另一件事......表单操作是空的。

于 2012-10-09T05:58:34.047 回答
0

目前没有它要去的地方。action=""在 的属性中给出它需要去的地方<form>。此外,在执行的 URL(通常是 PHP 文件)中,提供以下代码:

<?php
    if (count($_POST))
    {
        $name = $_POST["contact_name"];
        $email = $_POST["contact_email"];
        $subject = $_POST["contact_subject"];
        $message = $_POST["contact_message"];
        $mail = "Name: $name\nEmail: $email\nSubject: $subject\nMessage: $message";
        if (mail("mymail@domain.com", "New Mail from Contact Form", $mail))
            die ("OK");
        else
            die ("Fail");
    }
?>

此外,您需要在 JavaScript AJAX 调用中做一个小的修正。以这种方式替换:

    jQuery.ajax({
        type: "POST",
        url: jQuery(this).attr('action'),
        data: formInput,
        success: function(data){
            if (data == "OK")
                contactForm.parent().fadeOut("normal", function() {
                    jQuery(this).prev().prev().show('normal'); // Show success message
                });
            else
                alert ("Message not sent!");
        },
        error: function(data){
            contactForm.parent().fadeOut("normal", function() {
                jQuery(this).prev().show('normal');  // Show error message
            });
        }
    });

通过 PHP 脚本测试您的服务器是否支持 SMTP

创建一个包含此内容的小文件,例如mail.php

<?php
    var_dump(mail("yourmail@gmail.com", "Testing Message", "This mail was sent from PHP Script."));
?>

并尝试访问该文件,看看你得到了什么。请在您的问题中更新相同的内容。

于 2012-10-09T05:59:46.710 回答