如何将表单数据发送到CSV

时间:2013-05-01 08:54:34

标签: php javascript forms csv

我有一个客户的特定请求,要求将简报注册发送到CSV文件。对于任何后端,我都是一个菜鸟,更不用说前端开发了。

我有一个我正在使用的模板,无法理解它提供价值的方式。

表单代码非常简单

<form action="" method="post" class="signup" id="newsletter-form">
    <p>
        <input type="text" name="signup_name" id="signup_name" class="required" value="Your Name" />
    </p>
    <p>
        <input type="text" name="signup_email" id="signup_email" class="required" value="Your E-mail" />
    </p>
    <input type="submit" value="SEND" class="signupSubmit" id="submitform" />
    <div id="newsletter-msg-wrapper" style="position:relative; clear:both; width:100%;">
        <div id="newsletter-loader"></div> <span id="newsletter-msg"> &nbsp; </span>

    </div>
</form>

然后我有这个似乎正在处理帖子的.js文件

$(document).ready(function () {
    var contactFormDefaults = new Array();
    contactFormDefaults['name'] = 'Your Name';
    contactFormDefaults['email'] = 'E-mail';
    contactFormDefaults['subject'] = 'Subject';
    contactFormDefaults['message'] = 'Message';
    contactFormDefaults['msg'] = $('.contactForm span#msg').html();

    $('.contactForm input[type="text"], .contactForm textarea').focus(function () {
        $(this).addClass('inputHighlight').removeClass('errorOutline');
        if ($(this).hasClass('required')) {
            $('.contactForm span#msg').html('This is a required field.').removeClass('errorMsg successMsg');
        } else {
            $('.contactForm span#msg').html(contactFormDefaults['msg']).removeClass('errorMsg successMsg');
        }
        if ($(this).val() == contactFormDefaults[$(this).attr('id')]) {
            $(this).val('');
        }
    });
    $('.contactForm input[type="text"], .contactForm textarea').blur(function () {
        $(this).removeClass('inputHighlight');
        $('.contactForm span#msg').html(contactFormDefaults['msg']).removeClass('errorMsg successMsg');
        if ($(this).val() == '') {
            $(this).val(contactFormDefaults[$(this).attr('id')]);
        }
    });

    $('.contactForm input[type="text"], .contactForm textarea').hover(function () {
        $(this).addClass('inputHighlight');
    }, function () {
        $(this).not(':focus').removeClass('inputHighlight');
    });

    $('.contactForm').submit(function () {
        $('.contactForm .submit').attr("disabled", "disabled");
        $('#msg').html('<img src="images/loader-light.gif" />').removeClass('errorMsg successMsg');
        var isError = false;
        $('.contactForm input, .contactForm textarea').each(function () {
            if ($(this).hasClass('required') && ($.trim($(this).val()) == contactFormDefaults[$(this).attr('id')] || $.trim($(this).val()) == '')) {
                $(this).addClass('errorOutline');
                $('#msg').html('There was an error sending your message. Please try again.').addClass('errorMsg');
                isError = true;
            }
            if ($(this).attr('id') == 'email') {
                var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
                if (reg.test($(this).val()) == false) {
                    $(this).addClass('errorOutline');
                    if (!isError) {
                        $('#msg').html('Please enter a valid e-mail address and try again.').addClass('errorMsg');
                    }
                    isError = true;
                }
            }
        });
        if (isError) {
            $('.contactForm .submit').removeAttr("disabled");
            return false;
        } else {
            var name = $('#name').val(),
                email = $('#email').val(),
                subject = $('#subject').val(),
                message = $('#message').val();
            $.ajaxSetup({
                cache: false
            });
            var dataString = 'name=' + name + '&email=' + email + '&subject=' + subject + '&message=' + message + '&ajax=1';
            $.ajax({
                type: "POST",
                url: "../myform.php",
                data: dataString,
                success: function (msg) {
                    // Check to see if the mail was successfully sent
                    if (msg == 'Mail sent') {
                        // Update the progress bar
                        $('#msg').html('Message sent.').addClass('successMsg');
                        // Reset the subject field and message textbox
                        if (contactFormDefaults['subject']) {
                            $('#subject').val(contactFormDefaults['subject']);
                        } else {
                            $('#subject').val('');
                        }
                        if (contactFormDefaults['message']) {
                            $('#message').val(contactFormDefaults['message']);
                        } else {
                            $('#message').val('');
                        }
                    } else {
                        $('#msg').html('There was an error sending your email. Please try again.').addClass('errorMsg');
                        $('.contactForm .submit').attr("disabled", "");
                    }
                    // Activate the submit button
                    $('.contactForm .submit').removeAttr("disabled");
                },
                error: function (ob, errStr) {
                    $('#msg').html('There was an error sending your email. Please try again.').addClass('errorMsg');
                    //Activate the submit button
                    $('.contactForm .submit').removeAttr("disabled");
                }
            });
            return false;
        }
    });
});

如果可能的话,我很想知道如何使这一切功能和我在这里看不到的内容,以及如何将这一切都写入CSV文件。

可在此处查看网站和代码的完整视图:

www.cndnsd.com/ClientAccess/Newmarket/FinalSite/index.html

表单位于页面底部。

1 个答案:

答案 0 :(得分:0)

在myform.php中

,接收所有数据(电子邮件,姓名等)并开始创建CSV文件。这是一个简单的操作而不是那么复杂。

对于CSV文件编写,请查看堆栈溢出中的这些帖子:

write into csv file in php

Creating csv file with php

也做一些谷歌搜索。

希望这会对你有帮助。