我有简单的电子邮件脚本,表格很少,我收到了重复的提交......
那么,防止重复提交的最简单方法是什么?
我的代码..
<form action="main_contact.php" method="post" name="contact_form">
<input type="text" name="contact_name" placeholder="Name">
<input type="email" name="contact_email" placeholder="Email">
<input type="text" name="contact_subject" placeholder="Subject">
<textarea cols="30" name="contact_message" rows="10" placeholder="Your Message"></textarea>
<input type="submit" value="Send">
</form>
<?php
if(isset($_POST['contact_form'])){
var_dump($_POST);
}
?>
答案 0 :(得分:1)
您可以在提交表单后使用jQuery禁用提交按钮:
$('form[name="contact_form"]').submit(function(){
$(this).find('input[type="submit"]').prop('disabled', true);
});
答案 1 :(得分:0)
只需点击“提交”按钮,您就需要禁用或隐藏可见性。拳头提交id
到提交按钮
<input type="submit" value="Send" id="sub_id">
然后在提交表单
后将其隐藏或禁用javascriptdocument.getElementById('sub_id').style.visibility='hidden';
答案 2 :(得分:-2)
如果您使用任何类似Laravel5或Symfony的框架,您可以“开箱即用”。
简而言之: 注册会话令牌并在首次提交表单后使其无效。