2010-05-15 38 views
3

這裏是我使用的submitHandler代碼:麻煩與jQuery電子郵件的形式submitHandler

submitHandler: function() { 
$('.holder').fadeOut('slow'); 
$('#loading').fadeIn('slow'); 
$.post('email.php',{name:$('#em_name').val(), email:$('#em_email').val(), message:$('#em_message').val()}, 
function(data){ 
    $('#loading').css({display:'none'}); 
    if(data == 'success') { 
    $('#callback').show().append('Message delivered successfully'); 
    $('#emailform').slideUp('slow'); 
    } else { 
    $('#callback').show().append('Sorry but your message could not be sent, try again later'); 
    } 
}); 
} 

這連同這個PHP使用時不工作:

<?php $name = stripcslashes($_POST['name']); 
$emailAddr = stripcslashes($_POST['email']); 
$message = stripcslashes($_POST['message']); 
$email = "Message: $message \r \n From: $name \r \n Reply to: $emailAddr"; 
$to = '[email protected]'; 
$subject = 'Message from example'; 

//validate the email address on the server side 
if(eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $emailAddr)) { 
    //if successful lets send the message 
    mail($to, $subject, $email); 
    echo('success'); //return success callback 
} else { 
    echo('An invalid email address was entered'); //email was not valid 
} 
?> 

有誰有什麼建議,爲什麼這不是應該如此。我提交時似乎只是鎖定。任何幫助,將不勝感激。謝謝!

回答

1

建議

  1. 獲取螢火蟲或者是HttpFox調試AJAX腳本。您可以看到所有請求和post/get變量。

  2. 不使用eregi使用preg

  3. 不使用預浸驗證電子郵件的使用php's filter functions

  4. 另一個調試思路:設置$ _ POST瓦爾的email.php以上代碼,並參觀了email.php在您的瀏覽器,看看它的工作。

+0

謝謝,這幫了很多!發現它正在尋找錯誤的目錄中的PHP文件...好老的螢火蟲。 – Robert 2010-05-15 03:19:00