我需要使用jQuery驗證表單,然後將其提交給JavaScript文件,該文件將其重定向到確認/發送郵件頁面。我這樣做的原因是爲了防止垃圾郵件無法將某些類型的驗證碼放入。我基本上是爲表單的頁面發送錯誤的URL,然後將其更改爲外部JavaScript文件中的正確頁面。除非表單在驗證之前提交,否則一切都很好。我可以看到它在提交之前稍微標記錯誤。使用jQuery提交到javaScript之前驗證表單然後到確認頁面
驗證JS:
<script type="text/javascript">
$(document).ready(function(){
$('#contactform').submit(function() {
return $('#contactform').valid();
});
$("#contactform").validate();
$("#Name").rules("add", {
required: true,
minlength: 5,
messages: {
required: "Required",
minlength: jQuery.format("Minimum {0} Characters Required")
}
});
$("#Question").rules("add", {
required: true,
minlength: 20,
messages: {
required: "Required",
minlength: jQuery.format("Question Must Be {0} Character Long")
}
});
$("#math").rules("add", {
required: true,
equalTo: "#math2",
messages: {
required: "Solve Security Question.",
}
});
});
</script>
外部JS重定向:
function submitCommentForm() {
// Change the form action to the real submission page
document.getElementById('contactform').action = "confirmation.php";
// Submit the form
document.getElementById('contactform').submit();
}
有更好的方法來作出比提交你在做什麼阻止垃圾郵件。你確定你的方法(如果它的工作原理),你也可以這樣做,那麼禁用JavaScript的用戶將無法提交表單? – 2012-08-10 14:50:01
是的,我知道沒有js用戶將無法提交表單。有什麼更好的方法?過去幾年我一直在使用jquery驗證,並在幾天前才收到垃圾郵件。 – pixelJockey 2012-08-10 14:52:55
在本網站中搜索「蜜罐」,你會發現一些可能對你有幫助的問題。我曾多次以垃圾郵件的形式實施這些方案,並取得了很好的成功。 – 2012-08-10 14:56:33