收到两次邮件
Getting Mail Twice
本文关键字:两次 更新时间:2023-09-26
>我创建了一个邮件[感谢这个社区的支持]。我正在从带有下拉列表的联系表单中获取和发送信息,一切看起来都很好,但问题是我两次收到同一封邮件,我不知道其中出了什么问题。我没有太多的PHP或JavaScript技能。
以下是联系表格 -
<div class="contact-form">
<h2>Contact Us</h2>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
<script>
function verify() {
if(document.getElementById("name").value=="" || document.getElementById("email").value=="") {
alert("Please enter a name and an email.");
} else {
alert("Looks good, sending email");
//document.getElementById('ContactForm').submit();
var name=$('#name').val();
var email=$('#email').val();
var message=$('#message').val();
var phone=$('#phone').val();
var law=$('#law').val();
var fine=$('#fine').val();
var formData = "name="+name+"&message="+message+"&phone="+phone+"&law="+law+"&fine="+fine+"&email="+email;
$.ajax({
url : "mail.php",
type: "POST",
data : formData,
success: function(data, textStatus, jqXHR)
{
//data - response from server
alert(data);
},
});
}
}
</script>
<form action="mail.php" method="post" id="ContactForm">
<p>Your Name: * <br>
<input type="text" class="form-bt" value="" size="40" name="name" id="name" required>
</p>
<p>Phone: *<br>
<input type="number" class="form-bt" value="" size="40" name="phone" id="phone" required>
</p>
<p>Email: *<br>
<input type="email" class="form-bt" value="" size="40" name="email" id="email" required>
</p>
<p>Are of Law * <br>
<select name="law" class="form-bt" id="law">
<option value="Business & Commercial" selected>Business & Commercial</option>
<option value="Landlord & Tenant">Landlord & Tenant</option>
<option value="Litigation & Disputes">Litigation & Disputes</option>
<option value="Employment Law">Employment Law</option>
<option value="Wills & Probate">Wills & Probate</option>
<option value="Others">Others</option>
</select>
</p>
<p>Enquiry Details: *<br>
<textarea cols="40" rows="10" class="form-bt" name="message" id="message" required></textarea>
</p>
<p>How Did You Find Us? * <br>
<select name="fine" class="form-bt" id="fine">
<option value="I am a Previous or Existing Client" selected>I am a Previous or Existing Client</option>
<option value="Online Search">Online Search</option>
<option value="Advertisement">Advertisement</option>
<option value="Word of Mouth">Word of Mouth</option>
<option value="Law Society "Find a Solicitor"">Law Society "Find a Solicitor"</option>
<option value="Bar Standards Board">Bar Standards Board</option>
<option value="Other">Other</option>
</select>
</p>
<p>Please Specify: <br>
<input type="text" class="form-bt" value="" size="40" name="specify" id="specify">
</p>
<p>
<input type="submit" id="send" onClick="verify()" value="Submit" class="btton">
</p>
</form>
</div><!-- Contact Form -->
Now, i have created a mail.php files and have included the below codes -
<!-- begin snippet: js hide: false -->
一切都很好。我正在收到邮件。
注意:我也不想将人们重定向到此URL - http://www.XXXX.net/law/知道如何做到这一点吗?
亲切问候.deb
AJAX 具有如下重定向:
$.ajax({
url : "mail.php",
type: "POST",
data : formData,
success: function(data, textStatus, jqXHR)
{
//data - response from server
//alert(data);
window.location="http://www.XXXX.net/law/";
},
});
发送邮件功能,例如:
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$phone = $_POST['phone'];
$law = $_POST['law'];
$fine = $_POST['fine'];
$formcontent=" From: $name 'n Email: $email 'n Phone: $phone 'n Are of Law: $law 'n How Did You Find Us: $fine 'n Enquiry Details: $message";
$recipient = "devtest@XXXX.org";
$subject = "Contact Form";
$mailheader = "From: $email 'r'n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
echo "Thank You!" ;
通过默认的提交按钮提交表单,如果验证通过 onclick 事件,则再次执行请求请求。
解决方案很简单:
将表单提交按钮input type="submit"
更改为input type="button"
由于按钮类型,只会超过 onclick 事件,因此 verify() 验证并在验证通过时发送邮件。
相关文章:
- Meteor Router数据函数被调用两次
- 从MySQL数据库中获取输入数据需要两次页面刷新
- Module.start()已激发两次
- Jquery点击事件必须点击两次
- Append元素在运行两次函数后不显示
- 防止双击执行两次jQuery post请求
- 我必须点击两次才能激活任何按钮操作(离子/角度)
- 单击jQuery会激发两次
- 如何避免在树上走两次
- button.单击两次删除附加操作后不工作
- 由于$compile,Javascript(Angular)嵌套指令加载了两次
- 单击元素两次后执行操作
- AngularJs正在阻止链接被点击两次
- 为什么我的路线处理程序会触发两次
- 为什么Highchart在我的rails应用程序中加载了两次?(未捕获的Highcharts错误#16)
- 在列表中至少使用两次随机生成的nr
- 检查某个键是否按下两次
- 一次点击,两次'单击'事件已启动
- 我的所有代码在使用Webpack编译时都会运行两次
- Backbone.js ListenToOnce被调用两次