jQuery を使用してフォームを検証し、それを確認/メール送信ページにリダイレクトする JavaScript ファイルに送信する必要があります。私がこれを行っている理由は、ある種のキャプチャを入れずにスパムメールを防ぐためです。基本的に、フォームのページへの投稿に間違った URL を入れてから、それを外部 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();
}