AJAX只在一行中发送文本

时间:2016-04-14 17:10:56

标签: javascript php html ajax

我遇到了ajax请求的问题 我有一个表单有两个文本输入和一个textarea和一个ajax函数发送到另一个名为mail.php的页面三个输入的文本,然后mail.php发送一个包含这些数据的电子邮件并返回{{1}如果电子邮件发送正确,1如果没有。它工作,但在收到的电子邮件中,如果在textarea我有3或4行,文本也只在一行。 这是形式:

0

这是ajax函数:

<div id="form">
    <input type="email" class="style" id="mail" maxlength="80" placeholder="Inserisci la tua e-mail" required />
    <br>
    <input type="text" class="style" id="subject" maxlength="50" placeholder="Oggetto" required />
    <br>
    <textarea id="message" class="style" placeholder="Scrivi il messaggio..." rows="8" maxlength="2000" required></textarea>
    <br>

    <button type="submit" id="submit_button"><div><p class="send_button_content">Invia</p><img id="send_button_icon" class="send_button_content" src="send_icon.png"></div></button>
</div>

而mail.php是这样的:

function sendEmail(){
                var mail;
                var subject;
                var message;
                mail = $("#mail").val();
                subject = $("#subject").val();
                message = $("#message").val();
                if (mail !="" && subject !="" && message !="") {
                    if (emailCheck(mail)){
                   $.post("mail.php",{mail: mail,subject: subject,message: message},function(data){alert(data);});
                   }else{
                        alert("The e-mail is not correct")  
                   }
                } else {
                        alert("Fill all");
                }
            }
                $("#submit_button").click(function(){sendEmail(); });

有没有一种方法可以像我写的那样接收文本并发送它?

1 个答案:

答案 0 :(得分:2)

使用nl2br()

 $message=nl2br($_POST['message']);