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

由于同源策略,您将无法修改 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 回答