2013-03-07 15 views
0

我有一個包含3個不同的付款方式形式:刪除。如果不選擇強制選項

1 - 直接存款
2 - 信用卡
3 - 現金在辦公室

我想要做什麼如果沒有選擇信用卡,則從信用卡的表單字段中刪除強制性狀態(驗證),以便表單可以在不請求此信息的情況下進行處理。

任何想法?我有我有什麼設置目前一個的jsfiddle:http://jsfiddle.net/barmar/Kvg8M/2/

JS代碼:

$(document).ready(function() { 
     $(".paymentmethod").click(function() { 
     $(".paymentinfo").hide(); 
     switch ($(this).val()) { 
     case "Direct Deposit": 
      $("#pay0").show("slow"); 
      break; 
     case "Credit Card Authorisation": 
      $("#pay1").show("slow"); 
      break; 
     case "Cash at FAA Office (In Person)": 
      $("#pay2").show("slow"); 
      break; 
      } 
     }); 
    }); 

我使用Adobe商業催化劑,以及是否有幫助還是阻礙?

+0

您使用的任何驗證程序,以驗證表單..因爲我只看到'中的'類= req''並沒有什麼的'' bipen 2013-03-07 05:05:33

+0

@bipen - 表單是在Adobe Business Catalyst中創建的,並在以//開頭的表單末尾進行了驗證。[CDATA [ var submitcount44202 etc .. – sampotts 2013-03-07 05:08:42

回答

0

試試這個

$(document).ready(function() { 
     $(".paymentmethod").click(function() { 
     $(".paymentinfo").hide(); 
     switch ($(this).val()) { 
     case "Direct Deposit": 
      $("#pay0").show("slow"); 
     $("#filedID").rules('remove', 'required'); 
      break; 
     case "Credit Card Authorisation": 
      $("#pay1").show("slow"); 
      break; 
     case "Cash at FAA Office (In Person)": 
      $("#pay2").show("slow"); 
      break; 
      } 
     }); 
    }); 
0

req對於字段值的要求,受影響的類。如果req類申請任何元素,它必須填寫爲您的代碼。

提示:所以想簡單,如果你從元素中刪除此類。它不會是必填元素。如果你再次添加這個類,它將被填充元素。

如何添加或如果您使用jQuery從元素中刪除類:

$('#CardName').addClass('req'); 
$('#CardName').removeClass('req'); 

,如果你不使用JQuery看這裏。

Remove CSS class from element with JavaScript (no jQuery)


$(document).ready(function() { 

function setMend() { 
    alert("seting mend"); 
    $('#CardName').addClass('req'); 
    $('#CardNumber').addClass('req'); 
    $('#CardExpiryMonth').addClass('req'); 
} 

function unsetMen(){ 
    alert("unseting mend"); 
    $('#CardName').removeClass('req'); 
    $('#CardNumber').removeClass('req'); 
    $('#CardExpiryMonth').removeClass('req'); 
} 

    $(".paymentmethod").click(function() { 
     $(".paymentinfo").hide(); 
     switch ($(this).val()) { 
      case "Direct Deposit": 
       $("#pay0").show("slow"); 
       unsetMen();     
       break; 
      case "Credit Card Authorisation": 
       $("#pay1").show("slow"); 
       setMend(); 
       break; 
      case "Cash at FAA Office (In Person)": 
       $("#pay2").show("slow"); 
       unsetMen(); 
       break; 
     } 
    }); 
}); 

+0

對不起,如果我不清楚,但它不是類我在嘗試g刪除,因爲這只是在字段名稱旁邊顯示紅色*以表明它是強制性的。如果信用卡沒有被選中,我正試圖去除信用卡內的字段驗證,因此表單在沒有請求這些信息的情況下處理。 – sampotts 2013-03-07 05:17:23

+0

結帳eddied答案。 – 2013-03-07 05:31:47