条纹 - 更改 iframe 输入的固定器

Stripe - change placholders of iframe inputs

本文关键字:固定器 输入 iframe 更改 条纹      更新时间:2023-09-26

我正在研究嵌入式表单,我正在使用条纹进行在线支付,并使用他们的 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 不提供它,另一方面,可以选择创建自己的表单。

谢谢亚当

http://jsfiddle.net/cdDrB/

我认为占位符的jquery代码工作正常:

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

所以:也许你的 StripeCheckout 函数有错误,或者,你应该在调用这个函数之前更改占位符...... (希望对您有所帮助)

由于同源策略,您将无法修改条带元素的 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
});