2013-05-01 102 views
0

我有一個客戶的特定請求,即通訊註冊被髮送到CSV文件。當涉及到任何後端時,我是一個noob,更不用說前端開發了。如何將表單數據發送到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

形式是在頁面的底部。

+0

*「並且無法理解它傳遞值的方式。」*:請更具體地說明您想知道的內容。我不認爲任何人會經歷這段代碼並解釋每一行。總的來說,這個問題可能過於寬泛。我們不打算爲您實現此功能。 – 2013-05-01 08:56:56

+0

如果他們正在註冊一個時事通訊,那麼數據必須存儲在某個地方!即數據庫。要創建csv,請查詢數據庫並使用'fputcsv()'循環遍歷記錄來創建文件,或者只需將數據輸出到具有正確標題的屏幕上,以便它變爲強制下載(需要時生成)。 – Waygood 2013-05-01 09:01:47

+0

@Waygood:我認爲重點是將數據存儲在CSV文件中,而不是數據庫中。用戶填寫表單 - >數據發送到服務器 - >數據存儲在CSV文件中。 – 2013-05-01 09:17:34

回答

0

在myform.php中,接收所有數據(電子郵件,名稱等)並開始創建您的CSV文件。這是一個簡單的操作,並不複雜。

對於CSV文件寫入,請查看這些職位上的堆棧溢出:

write into csv file in php

Creating csv file with php

也做一些谷歌上搜索。

希望這會幫助你。