我正在用php实现条纹签出表格。 我有一个foreach循环,可以创建几个动态的结帐按钮。
<button
style="background-color:#6772E5;color:#FFF;padding:8px 12px;border:0;border-radius:4px;font-size:1em"
id="checkout-button-sku_F4XfiZ847i9LCU"
role="link"
>
STRIPE
</button>
<input type="text" class="iparams" value="<?php echo $params; ?>">
每个按钮都在javascript中调用,而我在该javascript中调用了$ params。
<script>
var stripe = Stripe('xxxxxxxxxxxxxxx');
//var checkoutButton = document.getElementById('checkout-button-xx');
//checkoutButton.addEventListener('click', function () {
checkoutButton = document.querySelectorAll("#checkout-button-xx");
inputparams = document.getElementsByClassName('iparams');
for (var i = 0; i < checkoutButton.length; i++) {
checkoutButton[i].addEventListener("click", function (e) {
for (var j = 0; j < inputparams.length; j++) {
stripe.redirectToCheckout({
items: [{sku: 'sku_F4XfiZ847i9LCU', quantity: 1}],
successUrl: "http://url" + inputparams[j].value,
cancelUrl: "http://url-fake",
})
.then(function (result) {
if (result.error) {
// If `redirectToCheckout` fails due to a browser or network
// error, display the localized error message to your customer.
var displayError = document.getElementById('error-message');
displayError.textContent = result.error.message;
}
});
}
});
}
我无法将$ params索引单独传递给javascript中的successUrl。制作console.log会显示所有索引值均已传递,并且我只希望单击的按钮的索引值。