0

ユーザーが小切手またはクレジットカードで支払うことを選択できる領域を除いて、正常に機能しているフォームで jquery.validate.js を使用しています。選択したオプションに応じて、非表示の div が表示されます。

小切手で:

<div class="accordionButton">
 <label for="Cheque"><input onclick="javascript: $('#li_buttons').show('slow');" type="radio" name="payby" id="cheque" value="Cheque"/>Pay by Cheque</label>
</div>

クレジットカードで:

<div class="accordionButton">
<label for="Credit Card"><input onclick="javascript: $('#li_buttons').show('slow');" type="radio" name="payby" id="credit" value="Credit Card" />Pay by Credit Card</label>
</div>

ラジオ ボタン (id="credit") がクリックされた場合にのみ、クレジット カードの検証が必要です。そこで、クラスを使用して次のインライン ルールを追加しました (一部のコードのみを含めました)。

<div class="accordionContent"><label class="description" for="card_name">Cardholder's Name </label>
<li><input id="card_name" name="card_name" class="required #credit:checked" type="text" value="" /></li>
<label class="description" for="free_quarter">Credit Card Type</label>
<li><select "id="card_type" name="card_type" class="required #credit:checked"> 
<option value="">Select</option>
<option value="visa">Visa</option>
<option value="mastercard">MasterCard</option>
<option value="am_ex">Am Ex</option>
</select></li>

難しいのは、小切手が支払い方法として選択されていても検証しているため、クレジットカード情報が提供されないと送信されないことです..

私は何を間違っていますか?

これについて何か助けてくれてありがとう。

4

1 に答える 1

0

これを試して:

  $("#myform").validate({
     card_type: function(element) {
        return $("#credit:checked").length > 0;
      }
  });
于 2009-07-29T20:35:05.943 に答える