1

私は埋め込みフォームに取り組んでおり、オンライン支払いにストライプを使用しており、API を使用してこのフォームを呼び出しています。

アイルランドでは米国とはまったく異なるため、入力のプレースホルダーを変更したいと思います。

私たちは持っている:

<div class="line_1">
      <input name="line_1" id="line_1" type="text" placeholder="City" autocompletetype="address-line1" required="">
    </div>

これは iframe コードの一部です。

クリックアクションでフォームを呼び出しています:

StripeCheckout.open({
            key:         '50m3s3cr3tk3y',
            amount:      0000,
            currency:    'eur',
            address: true,
            image: '/someimage.png',
            name:        'Product name',
            description: 'Marketing speech',
            panelLabel:  'Call to Action',
            token:       token
          });
jQuery("#line_1").attr("placeholder", "Town/City");

これは私にはうまくいかないようです。「line_1」などのフィールドさえ認識しないようです

それを達成するための最良の方法は何ですか?Stripe API では提供されないため、独自のフォームを作成するオプションがあります。

ありがとう、アダム

4

2 に答える 2

2

http://jsfiddle.net/cdDrB/

プレースホルダーへのjqueryコードはうまくいくと思います:

jQuery("#line_1").attr("placeholder", "Town/City");

だから:多分あなたのStripeCheckout関数にエラーがあるか、この関数を呼び出す前にプレースホルダーを変更する必要があります...(役に立てば幸いです)

于 2013-10-14T14:14:44.720 に答える
1

Same Origin Policy により、Stripe Element の iframe のコンテンツを変更することはできません。

ただし、Stripe API には、問題を解決できる文書化されていないプレースホルダー オプションがあります。次の例を見てください。

var elements = stripe.elements();
var cardNumber = elements.create('cardNumber', {placeholder: '****-****-****'});
var cardExpiry = elements.create('cardExpiry');
var cardCvc = elements.create('cardCvc');

// you can also update the placeholder after the initialization
cardNumber.update({placeholder: 'bla bla bla'});

cardNumber.mount($form.find('#card_number')[0]);
cardExpiry.mount($form.find('#card_expiry')[0]);
cardCvc.mount($form.find('#card_cvc')[0]);


stripe.createToken(cardNumber).then(function(result){
    var token = result.error ? null : result.token;
    // do something with the stripe token
});
于 2017-06-08T22:13:25.993 に答える