Я внедряю форму проверки полосы в 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, и у меня есть $ params, вызываемые в этом javascript.
<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 индивидуально в successUrl в javascript.Создание console.log показывает, что все значения индекса переданы, и я хочу только значение индекса кнопки, которую я нажал.