2016-07-29 4 views
0

私はこのフォーム(jsfiddle link)を持っています。ご覧のとおり、ラジオオプションが選択されると、さらに多くの選択肢が表示されます。私の問題は、送信をクリックしてから別のラジオボタンを選択し、再び最初のラジオオプションを選択した場合、検証がクリアされていないことです。jQueryフォーム検証プラグインを使用しているときの検証エラーをクリアする方法はありますか?

方法はありますか?私はプラグインのを見たが、何も目立たなかった。私はこのlinkはあなたに役立つことを願っています

$(document).ready(function(){ 
$("[id$=dob]").datepicker({ changeMonth: true, changeYear: true, dateFormat: "dd-mm-yy", yearRange: "-100:+0" }); 
    $(document).on("click", "[id^=self_service_form_type_]", function(event) { 
     for (i=0; i < 2; i++) { 
      $("#type_"+i).hide(); 
     } 
     $("#type_"+event.target.id.slice(-1)).show(); 
    }); 

    $('#selfserviceform').validate({ 
     rules: { 
      "self_service_form[studentid]": { 
       required: { 
        depends: function() { 
         return $("#self_service_form_type_0").is(":checked"); 
        } 
       } 
      } 
      , "self_service_form[studentdob]": { 
       required: { 
        depends: function() { 
         return $("#self_service_form_type_0").is(":checked"); 
        } 
       } 
      } 
      , "self_service_form[hrnumber]": { 
       required: { 
        depends: function() { 
         return $("#self_service_form_type_2").is(":checked"); 
        } 
       } 
      } 
      , "self_service_form[hrdob]": { 
       required: { 
        depends: function() { 
         return $("#self_service_form_type_2").is(":checked"); 
        } 
       } 
      } 
     } 
    , focusCleanup: true 
     , messages: { 
      "self_service_form[studentid]": "" 
      , "self_service_form[studentdob]": "" 
      , "self_service_form[hrnumber]": "" 
      , "self_service_form[hrdob]": ""    
     } 
     , submitHandler: function (form) { // for demo 
      alert('valid form submitted'); // for demo 
      return false; // for demo 
     } 
    }); 
}); 

答えて

0

おかげ

は、ここに私のJSコードです。

$(document).ready(function(){ 
$("[id$=dob]").datepicker({ changeMonth: true, changeYear: true, dateFormat: "dd-mm-yy", yearRange: "-100:+0" }); 
    $(document).on("click", "[id^=self_service_form_type_]", function(event) { 
     for (i=0; i < 2; i++) { 
      $("#type_"+i).hide(); 
     } 
     $("#type_"+event.target.id.slice(-1)).show(); 
    }); 

    $('#selfserviceform').validate({ 
     rules: { 
      "self_service_form[studentid]": { 
       required: { 
        depends: function() { 
         return $("#self_service_form_type_0").is(":checked"); 
        } 
       } 
      } 
      , "self_service_form[studentdob]": { 
       required: { 
        depends: function() { 
         return $("#self_service_form_type_0").is(":checked"); 
        } 
       } 
      } 
      , "self_service_form[hrnumber]": { 
       required: { 
        depends: function() { 
         return $("#self_service_form_type_2").is(":checked"); 
        } 
       } 
      } 
      , "self_service_form[hrdob]": { 
       required: { 
        depends: function() { 
         return $("#self_service_form_type_2").is(":checked"); 
        } 
       } 
      } 
     } 
    , focusCleanup: true 
     , messages: { 
      "self_service_form[studentid]": "" 
      , "self_service_form[studentdob]": "" 
      , "self_service_form[hrnumber]": "" 
      , "self_service_form[hrdob]": ""    
     } 
     , submitHandler: function (form) { // for demo 
    if($("#self_service_form_type_0").is(":Checked") == true) 
    { 
     $("#self_service_form_studentid").val('') 
     $("#self_service_form_studentdob").val('') 
    } 
    if($("#self_service_form_type_1").is(":Checked") == true) 
    { 
     $("#self_service_form_hrnumber").val('') 
     $("#self_service_form_hrdob").val('') 
    } 

      alert('valid form submitted'); // for demo 
      return false; // for demo 
     } 
    }); 
}); 
関連する問題