0

PHP経由でWebページから収集した文字列を電子メールで送信しようとしていますが、うまくいきません。jQueryフォームの作成に関する多くの情報がありますが、単に文字列を電子メールで送信しているものは見つかりません.

ここに私がこれまでに持っているものがあります:

 $('.questionFive').click(function(){
    $.post("mail.php", preSubmit()) 
 });

// this works well, and returns the string as desired.
function preSubmit(){
    var optionTexts = [];
    $("section").each(function(){
        var h2 = $(this).find("h2").text();
        optionTexts.push(h2);
        $("ol li", this).each(function() { optionTexts.push($(this).text()) });
        optionTexts.push("\n");
    });
    var optionString = optionTexts.toString();
    var splitText = optionString.split(",");
    alert(splitText);
    return splitText;
}

// mail.php file
<?php
if (isset($_POST['mailstring']) {
    $mail = $_POST['mailstring'];
    mail('me@email.com', 'My Subject', $mail);
}
?>
4

2 に答える 2

2

POST データとして単一の文字列を送信していますが、PHP スクリプトはキーと値のペアを想定しています。の jQueryドキュメントを見ると、オブジェクトをパラメーター$.post()として渡す必要があることがわかります。data

$.post("mail.php", {
    foo: "bar",
    abc: true
});
于 2013-06-12T14:33:25.460 に答える
0

preSubmit 関数の戻り値を次のように変更します。

return {"mailstring":splitText};
于 2013-06-12T14:33:09.957 に答える