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 Business Catalyst も使用しています。

4

2 に答える 2

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;
            }
        });
    });
于 2013-03-07T04:42:56.320 に答える
0

ポイント:reqフィールド値の要件の影響を受けるクラスです。クラスが任意の要素に適用される場合reqは、コードとして入力する必要があります。

ヒント:要素からこのクラスを削除する場合は単純に考えてください。要素を埋める必要はありません。そして、このクラスを再度追加すると、must fill 要素になります。

jQuery を使用する場合、要素からクラスを追加または削除する方法:

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

JQuery を使用していない場合は、こちらを参照してください。

JavaScript を使用して要素から CSS クラスを削除する (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;
        }
    });
});

于 2013-03-07T05:08:37.103 に答える