2013-07-19 84 views
0

我試圖設計一個基本的Javascript電子郵件註冊事件更新,就像您在建設中和即將推出的頁面上看到的那樣。訪問者將添加他們的電子郵件,然後單擊提交將他們自己添加到電子郵件列表中,使用基本的Ajax或jQuery「感謝您註冊」消息。另外,我需要使用PHO電子郵件驗證器。Javascript/PHP事件更新註冊按鈕

HTML

<form action="scripts/mail.php" method="POST"> 
    <input type="email" name="email" id="email" placeholder="Enter your email here....." tabindex="1"> 
    <input type="submit" name="submit" id="submitbtn" value="Signup" class="submit-btn" tabindex="2"> 
</form> 

與下面的PHP文件:

<?php 
    $from = "[email protected]"; 
    $email = $_POST['email']; 
    $to = "[email protected]"; 
    $subject = "Please add me to the events mailing list"; 
    $mailheader = "Email: $email \r\n"; 
    mail($to, $subject, $mailheader) or die("Error!"); 
    echo "<script type=\"text/javascript\">". 
    "alert('Thanks! We will keep you updated');". 
    "</script>"; 
?> 

然後我用此Javascript SignUp.js:

$(document).ready(function(){ 
    var mousedownHappened = false; 
    $("#submitbtn").mousedown(function() { 
    mousedownHappened = true; 
    }); 
    $("#email").focus(function(){ 
    $(this).animate({ 
     opacity: 1.0, 
     width: '250px' 
    }, 300, function(){ 
     // callback method empty 
    }); 
    // display submit button 
    $("#submitbtn").fadeIn(300); 
    }); 
    $("#submitbtn").on("click", function(e){ 
    e.stopImmediatePropagation(); 
    $("#signup").fadeOut(230, function(){ 
     // callback method to display new text 
     // setup other codes here to store the e-mail address 
     $(this).after('<p id="success">Thanks! We will keep you updated.</p>'); 
    }); 
    }); 
    $("#email").blur(function(){ 
    if(mousedownHappened) { 
     // reset mousedown and cancel fading effect 
     mousedownHappened = false; 
    } else { 
     $("#email").animate({ 
     opacity: 0.75, 
     width: '250px' 
     }, 500, function(){ 
     // callback method empty 
     }); 
     // hide submit button 
     $("#submitbtn").fadeOut(400); 
    } 
    }); 
}); 

但我需要幫助,使其正常運行。首先,我希望電子郵件說明來自哪裏,但目前沒有人說。

另外我知道JS和PHP似乎在電子郵件確認文本中相互覆蓋。那麼你能告訴我最好用什麼?而他們註冊後,我希望訪問者留在同一頁面上。謝謝。

+0

你的代碼很不明確。你的php代碼和Js代碼在哪裏,我的意思是哪些文件 –

+0

對不起,將您的網站從http://designwoop.com/2013/01/dynamic-newsletter-signup-form-with-jquery-動畫/ –

+0

如果您可以查看使用的代碼,並幫助我正確編輯代碼並幫助我瞭解需要添加的代碼以修復代碼並使其通過訪問者電子郵件地址發送到特定地址 –

回答

1

爲了正確顯示「FROM」,您應該將其設置在您的$ mailheader變量中。像這樣改變它:

$mailheader = 'From: ' . $email . "\r\n" . 
'Reply-To: '. $email . "\r\n"; 
+0

仍然需要關於如何點擊的幫助點擊按鈕激發一個將調用php文件的ajax請求,並且該ajax的成功執行進一步 –