0

私はこれを私の見解で持っています:

@using(Html.BeginForm())
{
    <label> Condition Target </label>
    <input type="text" name="ConditionTarget1" id="ConditionTarget1"/>
    <input type="text" name="ConditionTarget2" id="ConditionTarget2"/>
    <br/>

    <label> Condition Object </label>
    <select name="ConditionObject" id="ConditionObject">
        <option value="1"> Condition 1 </option>
        <option value="2"> Condition 2 </option>
    </select>
    <br/>

    <input type="submit"/>
}

私のコントローラーで(たとえば):

public ActionResult Validate(int value)
{
    return Json(value == 1, JsonRequestBehavior.AllowGet);
}

conditionobject が変更されたときに Validate サーバー メソッドを呼び出し、結果に応じて conditiontarget テキスト フィールドを必須にする必要があります (この場合はオプション 2 が選択されている場合)。jQuery リモート検証を試みましたが、select 自体を検証します。手伝って頂けますか?

4

2 に答える 2

0
 $('#ConditionObject').change(function(){
       $.ajax({
         type: "GET",
         url: "servercode.asp",
         data:this.val();
        success:function(data)
       {
         if(data==1)
        {
           $('#ConditionTarget1').addClass('required');//add required validation ,sample only
        }
      }
    });
 });

次に、検証チェック中に、ConditionTarget1が検証を取得しました

$('input:submit').click(function(){

 if($('#ConditionTarget1').hasClass('required'))
  {
     alert('oops validation required');
      return false;
   }
});
于 2012-12-18T11:29:59.270 に答える
0

本当にサーバー側メソッドを呼び出す必要がありますか? これを試して:

$('#ConditionObject').on("change",function(){
    if($(this).val() == 1)
    {
        $('#ConditionTarget1').addClass("Required");
    }
    else
    {
        $('#ConditionTarget1').removeClass("Required");
    }
});

送信時:<input id="submitForm" type="submit"/>

$("#submitForm").on("click", function(event){
  if($('#ConditionTarget1').hasClass("Required"))
    event.preventDefault();
});
于 2012-12-18T11:39:53.000 に答える