Как получить значение полей оплаты полосы woocommerce через jquery, когда я нажму кнопку завершения платежа?
Я хочу получить эти данные, и на странице предварительного просмотра будут отображаться последние 4 цифры.
ЗапомнитьФорма платежного шлюза woocommerce интегрирована в iframe.Вот код iframe
<iframe frameborder="0" allowtransparency="true" scrolling="no" name="__privateStripeFrame5" allowpaymentrequest="true" src="https://js.stripe.com/v3/elements-inner-card-6bc25d089c2cb94ef6e5f6c7d596d25f.html#style[base][iconColor]=%23666EE8&style[base][color]=%2331325F&style[base][fontSize]=15px&style[base][::placeholder][color]=%23CFD7E0&componentName=cardNumber&wait=false&rtl=false&keyMode=test&origin=http%3A%2F%2Frizwankhan.co&referrer=http%3A%2F%2Frizwankhan.co%2Ftraining%2Fcheckout%2F&controllerId=__privateStripeController1" title="Secure payment input frame" style="border: none !important; margin: 0px !important; padding: 0px !important; width: 1px !important; min-width: 100% !important; overflow: hidden !important; display: block !important; height: 18px;"></iframe>
, а вот поле «Номер карты»
<label class="Input" data-max="4242 4242 4242 4242 4240"> <input type="tel" autocomplete="cc-number" autocorrect="off" spellcheck="false" name="cardnumber" class="InputElement is-empty" aria-label="Credit or debit card number" placeholder="1234 1234 1234 1234" aria-placeholder="1234 1234 1234 1234" aria-invalid="false" value=""> </label>
Я пробовал это
jQuery('input.InputElement').val();
и это
jQuery('iframe[name=__privateStripeFrame5]').contents().find('input.InputElement').val();
jQuery('iframe').contents().find('input.InputElement').val();
РЕДАКТИРОВАТЬ: Вы не можете получить доступ к <iframe> с другим происхождением, используя JavaScript , это было бы огромным недостатком безопасности, если бы вы могли это сделать.
<iframe>
Однако , чтобы ответить на ваши первоначальные потребности, вы можете получить последние 4 цифры в PHP с полосой, используя:
$card = $customer->sources->data[0]; $Stripe_card=$card->last4;
sources-> data isмассив, чтобы вам нужно было выбрать первую карту.
извлечь 4 цифры - извлечь 4 цифры, другой пример
-
Оригинальный ответ: var iframe = $ ('iframe');$ ('input.InputElement', iframe.contents ()). val ();
Узнайте, как получить доступ к содержимому iframe-with-jquery
Источник: http://simple.procoding.net/2008/03/21/how-to-access-iframe-in-jquery/