2016-08-20 4 views
1

저는 신용 카드 프로젝트를 진행하고 있습니다. 그리고 자바 스크립트 (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 값을 얻을 것이다 그것을 확인