Php 未能编写反馈表单
我需要你的帮助。我有一个反馈表,它向指定的邮箱发送电子邮件。 这是我的表单的外观:Php 未能编写反馈表单,php,ajax,Php,Ajax,我需要你的帮助。我有一个反馈表,它向指定的邮箱发送电子邮件。 这是我的表单的外观: <form method=post name="feedback"> <div> <div align="center"> <input class="textarea1" type="text" name="name" placeholder="Name" autocomplete="off">
<form method=post name="feedback">
<div>
<div align="center">
<input class="textarea1" type="text" name="name" placeholder="Name" autocomplete="off">
<input class="textarea1" type="text" name="email" placeholder="Email" autocomplete="off">
<input class="textarea1" type="text" name="title" placeholder="Subject" autocomplete="off">
<textarea class="textarea" rows="10" name="mess" placeholder="Message" autocomplete="off"></textarea><br />
<input class="submit" type="submit" value="Send" name="submit"></div>
</form>
<img id="load" src="load.gif" style="display: none;" />
<div id="answer"></div>
这是我的脚本在html文件头部的外观:
<script type="text/javascript" src="jquery-2.1.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#feedback").submit(function(event) {
event.preventDefault();
$.ajax({
url: "feedback_lib.php",
beforeSend: function() {
$("#load").fadeIn(400);
},
type: "post",
data: $("#feedback").serialize(),
success: function(answer) {
$("#answer").html(answer);
}
}).done(function() {
$("#load").fadeOut(400);
});
});
});
</script>
$(文档).ready(函数(){
$(“#反馈”)。提交(功能(事件){
event.preventDefault();
$.ajax({
url:“feedback_lib.php”,
beforeSend:function(){
$(“#加载”).fadeIn(400);
},
类型:“post”,
数据:$(“#反馈”).serialize(),
成功:功能(答案){
$(“#答案”).html(答案);
}
}).done(函数(){
$(“#加载”)。淡出(400);
});
});
});
这就是我的反馈_lib.php的样子:
<?php
$email = $_POST["email"];
$mess = $_POST["mess"];
$title = $_POST["title"];
$name = $_POST["name"];
$result = 0;
define(EMAIL_TO, "myrealmail@mymail.com");
if ((strlen($email) < 5) or (strlen($message) < 10)) $result = 1; // длина сообщения
else {
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
$subject = "Письмо с Вашего сайта http://".$_SERVER["HTTP_HOST"]."/";
$header = "From <".$email.">\r\nContent-type: text/plain; charset=utf-8\r\n";
mail(EMAIL_TO, $subject, $mess, $title, $name);
$result = 3; //письмо отправлено
}
else $result = 2; // неправильный email
}
echo getAnswer($result);
function getAnswer($result = 0) {
switch ($result) {
case 0: $answer = "";
break;
case 1: $answer = "<p style='color: red;'>Հաղորդագրության նվազագույն երկարություն 10 նիշ, իսկ email-ինը` 5:</p>";
break;
case 2: $answer = "<p style='color: red;'>Սխալ email:</p>";
break;
case 3: $answer = "<p style='color: green;'>Հաղորդագրությունն ուղարկված է</p>";
}
return $answer;
}
?>
在表单中使用反馈
id
<form method=post name="feedback" id="feedback">
...........
...........
</form>
...........
...........
在表单中使用反馈
id
<form method=post name="feedback" id="feedback">
...........
...........
</form>
...........
...........
#用于“id”,而不是“name”。尝试将id=“feedback”添加到表单元素标记中。谢谢!现在可以用了。#表示“id”,而不是“name”。尝试将id=“feedback”添加到表单元素标记中。谢谢!“它现在起作用了。@Gurgen,如果它起作用了,你应该接受这个答案,这样其他人就可以从这个答案中受益。”。谢谢,我还有一个问题。我定义了在出现错误(如错误的电子邮件或短于10个符号的消息)时不清除表单数据。当我得到答案=3时,如何才能清除表单数据?这可能是一个好方法:success:function(answer){$(“#answer”).html(answer);},error:function(errorshown){alert('request failed');}
@Gurgen,如果它有效,你应该接受答案,这样其他人就可以从答案中受益。谢谢,我还有一个问题。我定义了在出现错误(如错误的电子邮件或短于10个符号的消息)时不清除表单数据。当我得到答案=3时,如何才能清除表单数据?这可能是一个好方法:成功:函数(答案){$(“#答案”).html(答案);},错误:函数(错误抛出){alert('request failed');}