Card: Exemplo de como vincular a data de validade aos menus suspensos de mês e ano

Criado em 13 fev. 2015  ·  6Comentários  ·  Fonte: jessepollak/card

Seria muito benéfico ter um exemplo mostrando como vincular a data de expiração aos menus suspensos de mês e ano. Acho que esse cenário poderia fechar as dúvidas com a validação do prazo de validade.
A propósito, é viável na versão atual?

Comentários muito úteis

Eu não consegui fazer funcionar com <select> s, então usei um hack sujo:

$('#ccexpirymonth, #ccexpiryyear').on('change', function () {
    // Set the value of a hidden input field for Card
    $('#expiry-date').val($('#ccexpirymonth').val() + '/' + $('#ccexpiryyear').val());
    // Trigger the "change" event manually
    var evt = document.createEvent('HTMLEvents');
    evt.initEvent('change', false, true);
    document.getElementById('expiry-date').dispatchEvent(evt);
});

Todos 6 comentários

: +1: Seria incrível tentar descobrir como fazer agora, então postarei qualquer coisa que eu encontrar

Eu não consegui fazer funcionar com <select> s, então usei um hack sujo:

$('#ccexpirymonth, #ccexpiryyear').on('change', function () {
    // Set the value of a hidden input field for Card
    $('#expiry-date').val($('#ccexpirymonth').val() + '/' + $('#ccexpiryyear').val());
    // Trigger the "change" event manually
    var evt = document.createEvent('HTMLEvents');
    evt.initEvent('change', false, true);
    document.getElementById('expiry-date').dispatchEvent(evt);
});

A única razão pela qual não estamos usando isso na produção ainda é porque a usabilidade de ter uma única entrada para a data de expiração é muito confusa, onde o usuário precisa inserir o mês e o ano; ninguém parece saber como ir de mês para ano (devo digitar um "/"? é engraçado ver que eles sempre congelam neste ponto).

Também é muito comum que eles digitem apenas os 2 primeiros dígitos do ano ("19" em 2019) ou tentem digitar o ano inteiro "2019". Mesmo que o formulário aceite ambos (parece que sim), é confuso porque as pessoas nunca sabem se acertaram.

É definitivamente o maior ponto de atrito.

De qualquer forma, poderíamos mudá-lo para 2 menus suspensos <select> sem usar um hack?

Vou fechar isso porque vamos adicionar suporte para menus suspensos selecionados no # 173.

Oi,

Não entendo por que você fechou este problema ... Não encontrei nada na versão atual que permita algo como selecionar # expiração e não entrada. e não há sulução em # 173 para usar a lista suspensa de mês e ano.
Ogone, que é um grande provedor de pagamento na Europa, oferece suporte apenas para menu suspenso mês / ano e não podemos usar essa extensão brilhante com este provedor de pagamento.

leoetlino >> Por favor, você pode me explicar o que você faz para que seu hack sujo funcione?
Posso criar o campo oculto com o valor = "10/19" (para outubro de 2019) mas não atualiza a informação na foto do cartão de crédito ... você tem uma solução?

Muito obrigado

@angelflo esse é o pedaço de código hacky que estou usando como solução alternativa (desde um ano atrás) e ainda está funcionando para mim.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

SimplySynced picture SimplySynced  ·  27Comentários

blazeworx picture blazeworx  ·  6Comentários

cyanpix picture cyanpix  ·  12Comentários

chrisgwynne picture chrisgwynne  ·  3Comentários

MillerApps picture MillerApps  ·  10Comentários