2016-07-10 4 views
0

私は検証が必要なフォームを持っています。私のフォームは、4つの要素、articleType選択ボックス、articleTitle入力ボックス、articleUrl入力ボックス、およびnumPages選択ボックスを含みます。私のarticleTypeとnumPages選択ボックスが必要です。私のarticleTitleとarticleUrlの入力ボックスは、両方とも必須で、最小長は10でなければなりません。フォームは更新されません。入力された入力が正しい場合、次のページに進みます。ここでページリフレッシュなしのフォーム検証

は私のコードです:私の現在のコードで

HTML

<div style="display: none" class="article_Information"> 


         <form class="article_information_form" action="" method="POST"> 
          <p>Article type</p> 
          <select name="articleType" required> 
           <option value="" disabled="disabled" selected></option> 
           <option value="Lifestyle">Lifestyle</option> 
           <option value="Entertainment">Entertainment</option> 
           <option value="Society">Society</option> 
           <option value="Strange">Strange</option> 
           <option value="Science">Science</option> 
           <option value="Tech">Tech</option> 
          </select><br> 
          <p>Title </p> 
          <input id="articleTitle" type="text" name="articleTitle" maxlength="75" required> 

          <p style="clear: both">Article URL</p> 
          <input id="articleUrl" type="text" name="articleUrl" maxlength="65" required><br> 
          <div style="display: block; margin: 20px; color: gray"> 
          <p style="text-align: center; font-weight: normal; font-size: 15px; display: inline; font-style: italic; clear: both; float: none">URL:</p><p id="urlDisplay" style="text-align: center; font-weight: normal; font-size: 15px; display: inline"></p> 
          </div> 
          <p>Number of pages</p> 
          <select id="numPages" name="numPages" required> 
           <option value="" disabled="disabled" selected></option> 
           <option value="2">2</option> 
           <option value="3">3</option> 
           <option value="4">4</option> 
           <option value="5">5</option> 
           <option value="6">6</option> 
           <option value="7">7</option> 
           <option value="8">8</option> 
           <option value="9">9</option> 
           <option value="10">10</option> 
           <option value="11">11</option> 
           <option value="12">12</option> 
           <option value="13">13</option> 
           <option value="14">14</option> 
           <option value="15">15</option> 
          </select><br> 

          <input id="btn" type="submit" name="article_info_btn" value="Submit"> 
         </form> 
        </div> <!--End of article information div--> 

jQueryの

<script type="text/javascript"> 


     $(".article_information_form").validate({ 
     //specify the validation rules 
     rules: { 
      articleType: "required", 
      numPages: "required", 
      articleTitle: { 
      required: true, 
      minlength: 10 
      }, 
      articleUrl: { 
      required: true, 
      minlength: 10 
      } 
     }, 

     //specify validation error messages 
     messages: { 
     articleType: "First Name field cannot be blank!", 
     numPages: "Last Name field cannot be blank!", 
     articleTitle: { 
     required: "Password field cannot be blank!", 
     minlength: "Your password must be at least 6 characters long" 
     }, 
     articleUrl: "Please enter a valid email address" 
     }, 
     }); 

$('.article_information_form').on('submit', function(e) { 
        e.preventDefault(); 
        $.ajax({ 
         type: 'POST', 
         url: '', 
         data: $(this).serialize(), 
         success: function(data) { 
          $(".article_Information").fadeOut("slow"); 
          $(".article_properties").fadeIn("slow"); 
          $("#addOne").fadeIn("slow"); 
          numPages = $('#numPages option:selected').val(); 
          $('.pageNumber').text(numPages); 
          $('.inputNumber').text(numPages); 
         } 
        }); 
       }) 

、それはエラーメッセージを表示し、次のページに移動します。ユーザーが間違いを訂正するまで、現在のページにどのようにしておくことができますか?また、私はPHPがフォームを検証するのがより効果的であることを知っていますが、この場合はまだそれが良いでしょうか?もしそうなら、PHPを使ってエラー・メッセージを表示できるように、どのように情報をAjaxに戻すことができますか?

答えて

1

フォームは、これは文句を言わないので、文句を言わないページに、これは働いていた

+0

おかげで、リフレッシュしていますが、私は変更することができます方法を知っているか、あなたのフォームを送信この

$('.article_information_form')[0].checkValidity() // returns true or false 

を使用し、有効であるかどうかをチェックしますメッセージのCSS? – user2896120

+0

これは私がhttp://stackoverflow.com/questions/860055/jquery-override-default-validation-error-message-display-css-popup-tooltip-likと考えるのに役立ちます –

+0

何が助けになるでしょうか? – user2896120