Hello, I am trying to create a Credit/debit card payment form with validation. I want my form to work something like when I enter the visa card details. it should detect visa and show VISA logo only and hide other companies logo. Kindly help.I tried this code snippet -
What I have tried:
I tried the code below javascript
HTML
What I have tried:
I tried the code below javascript
Code:
$(function($) { $('[data-numeric]').payment('restrictNumeric'); $('.cc-number').payment('formatCardNumber'); $('.cc-exp').payment('formatCardExpiry'); $('.cc-cvc').payment('formatCardCVC'); $.fn.toggleInputError = function(erred) { this.parent('.form-group').toggleClass('has-error', erred); return this; }; $('form').submit(function(e) { e.preventDefault(); var cardType = $.payment.cardType($('.cc-number').val()); $('.cc-number').toggleInputError(!$.payment.validateCardNumber($('.cc-number').val())); $('.cc-exp').toggleInputError(!$.payment.validateCardExpiry($('.cc-exp').payment('cardExpiryVal'))); $('.cc-cvc').toggleInputError(!$.payment.validateCardCVC($('.cc-cvc').val(), cardType)); $('.cc-brand').text(cardType); $('.validation').removeClass('text-danger text-success'); $('.validation').addClass($('.has-error').length ? 'text-danger' : 'text-success'); }); });
HTML
Code:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.payment/3.0.0/jquery.payment.min.js"></script> <div class="padding"> <div class="row"> <div class="container-fluid d-flex justify-content-center"> <div class="col-sm-8 col-md-6"> <div class="card"> <div class="card-header"> <div class="row"> <div class="col-md-6"> <span>CREDIT/DEBIT CARD PAYMENT</span> </div> <div class="col-md-6 text-right" style="margin-top: -5px;"> <img src="https://img.icons8.com/color/36/000000/visa.png"> <img src="https://img.icons8.com/color/36/000000/mastercard.png"> <img src="https://img.icons8.com/color/36/000000/amex.png"> </div> </div> </div> <div class="card-body" style="height: 350px"> <div class="form-group"> <label for="cc-number" class="control-label">CARD NUMBER</label> <input id="cc-number" type="tel" class="input-lg form-control cc-number" autocomplete="cc-number" placeholder="•••• •••• •••• ••••" required> </div> <div class="row"> <div class="col-md-6"> <div class="form-group"> <label for="cc-exp" class="control-label">CARD EXPIRY</label> <input id="cc-exp" type="tel" class="input-lg form-control cc-exp" autocomplete="cc-exp" placeholder="•• / ••" required> </div> </div> <div class="col-md-6"> <div class="form-group"> <label for="cc-cvc" class="control-label">CARD CVC</label> <input id="cc-cvc" type="tel" class="input-lg form-control cc-cvc" autocomplete="off" placeholder="••••" required> </div> </div> </div> <div class="form-group"> <label for="numeric" class="control-label">CARD HOLDER NAME</label> <input type="text" class="input-lg form-control"> </div> <div class="form-group"> <input value="MAKE PAYMENT" type="button" class="btn btn-success btn-lg form-control" style="font-size: .8rem;"> </div> </div> </div> </div> </div> </div> </div>
Comment