나는 checkout cart 시스템을 사용하여 Stripe라는 지불 게이트웨이로 작업하고 있습니다.사이드로드 된 HTML을 대상으로하는 방법
나는 카트를 작동시킬 수 있었고, 제품에 따라 필요할 때 고객, 주문 및 지불을 생성합니다. 그러나 나는 자바 스크립트 지향적이지는 않지만 자동으로 사용자 이메일을 체크 아웃 이메일 필드에 삽입하는 방법을 통합하려고합니다. 나는 이것을 시도했다 :
$(document).ready(function() {
$('.stripe-button-el').click(function() {
setTimeout(function() {
$('.Fieldset').closest('.Fieldset-input').attr('value', '[email protected]');
console.log('Value 1: ' + $('.Fieldset-input').attr('value'));
console.log('Value 2: ' + $('.Fieldset').closest('.Fieldset-input') .attr('value'));
}, 2000);
});
});
그러나 두 값은 모두 정의되지 않았다. setTimeout()
을 추가 한 이유는 체크 아웃이 버튼에 의해 트리거되기 때문이며 버튼이 클릭 될 때까지는 HTML이 사이트에 추가되지 않기 때문에 속성에 액세스 할 수 없기 때문입니다. 나는 이것이 당신이 카드 정보에 접근하는 것을 막기 위해 보안을 위해 행해졌다는 것을 알고 있지만 이것에 대한 어떤 방법이 있습니까?
나는 사용자가 객체에 저장된 이메일을 보내, 그래서 난 그냥 말하고 싶은 것은 수행 코멘트에이 공급 @yomisimie하는
$(document).ready(function() {
var user { 'email': <?= $email ?> };
// put this email inside the checkout email property
$('input[type=email]').attr('value', user.email);
}
옵션 구성 옵션 [여기]를 확인하십시오 (https://stripe.com/docs/checkout#integration-custom) – yomisimie
@Liam은 아닌 것 같습니다. 일부 양식 제출 자료 일 수 있습니다. – Jai
* 동적으로로드 된 경우 해당 버튼을 클릭 할 때까지 HTML이 사이트에 추가되지 않습니다. * .on()을 사용합니다. – Liam