2016-08-20 18 views
1

私はクレジットカードプロジェクトに取り組んでいます。私は、クレジットカードの有効性を確認し、クレジットカードの種類を返すのに役立つJavaScript(validateCreditCard)の機能を持っています。クレジットカードの種類を取得した後、フォームの提出後に使用する隠し入力cardTypeの値として保存します。サブミットボタンをクリックした後、cardFormValidate関数がtrueを返した場合、ユーザーは 'proceed.php'に移動します。条件が満たされた場合にフォームを検証する

これは私がこれらのコード行を記述することによって実現しようとしているものですが、非表示入力の値はまだ空です。親切に私を助けてください。 は申し訳ありませんが、私は

1)最初のチェックは、あなたはCard_Numberを得ている。..

function cardFormValidate() { 
 

 
     //Card validation 
 
     var card_number = $('#CreditCardNumber'); 
 
     card_number.validateCreditCard(function (result) { 
 
      var cardType = (result.card_type == null) ? '' : result.card_type.name; 
 
      if (result.valid) { 
 
       $("#cardType").val(cardType); 
 
       cardValid = true; 
 
      } else { 
 
       $("#cardType").val(''); 
 
       cardValid = false; 
 
      } 
 
      return cardValid; 
 
     }); 
 

 
    } 
 

 
    $(document).ready(function() { 
 

 
     //Submit card form 
 
     $("#PayButton").on('click',function(){ 
 
      if (cardFormValidate()) { 
 
       //Move to proceed.php to treat the form 
 
      }else{ 
 
       alert('bad credit card'); 
 
      } 
 
     }); 
 
    });
<form method="post" action="proceed.php"> 
 
    <input name="cardType" type="hidden" id="cardType"> 
 
    <div class="form-group"> 
 
     <label for="NameOnCard">Name on card</label> 
 
     <label for="NameOnCard"></label><input id="NameOnCard" class="form-control" type="text" name="NameOnCard" maxlength="255"/> 
 
    </div> 
 
    <div class="form-group"> 
 
     <label for="CreditCardNumber">Card number</label> 
 
     <input id="CreditCardNumber" class="null card-image form-control" name="CreditCardNumber" type="text"/> 
 
    </div> 
 
    <button id="PayButton" type="submit"></button> 
 
</form>

+0

はあなたが確認していますname性質を持っている必要がありますvalidateCreditCard

2)リターン・データ、あなたのJS関数は 'else { $("#cardType ")。val( '');}を実行していません。 cardValid = false; } 'else部分? –

答えて

1

私はvalidateCreditCard機能が正しく実行されていない、あなたがNULL値を取得していると思う英語のネイティブスピーカーではありませんよ??その後、 このライン

var card_number = $('#CreditCardNumber').val(); 
を試していない場合

alert(card_number)を入れ ...そうでなければ、NULL値を取得しますそれをチェックアウト

関連する問題