jQuery/PHP mail envoyer la voie de la facilité?

Ok, pour faire une longue histoire courte:

JavaScript:

jQuery("submit").click(function() { 

    var address = jQuery("#mail").val();
    var title = jQuery("#title").val(); 
    var name = jQuery("#name").val(); 
    var mail = jQuery("#email").val();  
    var message = jQuery("#msg").val(); 

    alert(address);
    alert(title); 
    alert(name); 
    alert(mail); 
    alert(message); 

    jQuery.post("sendmail.php",
    {address: address, title: title, name: name, mail: mail , message: message}, 
    function(data){
        jQuery("#email").html("<div id='sent'><p>Thank you for the message.</p><p>We will reply as soon as possible.</p></div>");
        alert('sent');
    });      

return false;       
});  

Fonctionne bien (montre chaque valeur d'alerte), mais ne montre jamais div "envoyé". Et n'envoie jamais un courrier réel.

sendmail.php est à la bonne place, et son code est:

<?php

//getting variables from form

$emailTo = trim($_REQUEST['address']);
$subject = trim($_REQUEST['title']);;
$name = trim($_REQUEST['name']);
$emailFrom = trim($_REQUEST['mail']);
$message = $_REQUEST['message'];

//prepare email body text

$Body = "You have a message from: ";
$Body .= $name;
$Body .= "\n";
$Body .= "\n";
$Body .= $message;

//send prepared message

$sent = mail($emailTo, $subject, $Body);

//callback for jQuery AJAX

if ($sent){
  echo 'sent';
}
else{}

print_r($_REQUEST); die();
?>

Mise à jour de jQuery, aussi ne fonctionne pas:

jQuery("#contact-form-send").click(function() {    

    var address = jQuery("#contact-form-mail-address").val();
    var title = jQuery("#contact-form-mail-title").val(); 
    var name = jQuery("#contact-form-name").val(); 
    var mail = jQuery("#contact-form-email").val();  
    var message = jQuery("#contact-form-message").val(); 

    var data = "&address=" + address + "&title=" + title + "&name=" + name + "&mail=" + mail + "&message=" + message;

    jQuery.ajax({
     type: "POST",
     url: "sendmail.php",
     data: data,
     success: function(){
          jQuery(".email-us").html("<div id='email-sent'><p>Thank you for the message.</p><p>We will reply as soon as possible.</p></div>");     
     }
});   

return false;       
});  
bien sûr, je suis en train de travailler sur elle, bien sûr 🙂 j'ai totalement mis à jour le premier post, peut-être que vous serez en mesure de trouver le problème? Mais tout d'abord, je vais vérifier votre méthode .ajax.
vous avez fermé votre else w/o de mettre n'importe quoi dedans...peut-être le print_r($_REQUEST); ?
ne change rien, j'ai pas accès à l'sendmail.php sortie, je suis juste en cliquant sur "soumettre" et il y a div apparition. Rien de plus. Il n'y a pas de redirection vers sendmail.php.
Sonne comme il fonctionne. Faire de l'ajax, qui n'est pas redirigé, mais elle se soumet à la demande. De sorte que si vous ne quittez jamais la page, mais pourtant, le mail est envoyé si votre sendmail.php est correcte. fondamentalement, ce que vous voulez faire est d'attacher le rappel des informations à la jQuery(".email-us".html(); je vais mettre à jour ma réponse à nouveau pour afficher u
ce n'est probablement pas de travail depuis que je reçois pas de mails... ;/ Mais je vais le faire sur localhost, je vais essayer de le vérifier sur le serveur à un autre endroit. De toute façon l'Id de l'amour pour attacher rappel info de la ligne droite, mais je ne suis pas sûr de savoir comment.

OriginalL'auteur anonymous | 2011-02-19