我正在使用 Stripe.js 创建令牌。我想通过隐藏字段将此令牌传递到下一页。不幸的是,隐藏字段并没有按应有的方式更新 onchange。
var stripe = Stripe('pk_test_pTMOD3umdVw9RkEYB35tz28X');
var elements = stripe.elements();
var card = elements.create('card', {hidePostalCode: true});
card.mount('#card-element');
var inputs = document.querySelectorAll('input.field');
Array.prototype.forEach.call(inputs, function(input) {
input.addEventListener('focus', function() {
input.classList.add('is-focused');
});
input.addEventListener('blur', function() {
input.classList.remove('is-focused');
});
input.addEventListener('keyup', function() {
if (input.value.length === 0) {
input.classList.add('is-empty');
} else {
input.classList.remove('is-empty');
}
});
});
function setOutcome(result) {
var errorElement = document.querySelector('.error');
errorElement.classList.remove('visible');
if (result.token) {
document.getElementById("cc_token").value = result.token.id;
} else if (result.error) {
errorElement.textContent = result.error.message;
errorElement.classList.add('visible');
}
}
card.on('change', function(event) {
setOutcome(event);
});
document.querySelector('#registrationForm').addEventListener('submit', function(e) {
stripe.createToken(card).then(setOutcome);
});
setOutcome
当我调用它时工作,但它没有被正确调用 onchange。