0

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();
}
4

2 に答える 2

5

変化する

$('#contactform').submit(function() {
  return $('#contactform').valid();
});

$('#contactform').submit(function() {
  if($(this).valid()){
    submitCommentForm();
  }else{
    alert('Please fix the errors within the form.');
  }
  return false;
});
于 2012-08-10T14:59:47.883 に答える
0

jQuery プラグインを使用してフォーム データを検証できます。

これはいいものです ->ケチャップ

于 2012-08-10T15:58:31.300 に答える