Как я могу отключить и изменить текст одной кнопки полосы, которая в цикле foreach - PullRequest
0 голосов
/ 13 июня 2018

Я использую кнопку базовой проверки полосы, которая проходит по моим продуктам, есть ли способ отключить и изменить текст кнопки после отправки кнопки, не затрагивая кнопку на других продуктах.У меня возникают проблемы при попытке отключить одну кнопку после отправки платежа, которая не влияет на кнопки других продуктов.

Итак, я хочу, чтобы я нажал «оплатить картой», после того как я отправил свойинформация и процесс проходит.Продукт, который я только что купил, я хочу, чтобы кнопка была отключена, поэтому я могу купить продукт только один раз.

@foreach($userproduct as $product)
    <div class="col-md-6 col-lg-4">
      <form id="btnst" action="{{ '/account/'.Auth::user()->slug .'/'. $product->id  }}" method="POST">
          {{ csrf_field() }}
          <script
            src="https://checkout.stripe.com/checkout.js" class="stripe-button"
            data-key="pk_test_fLAtreA6Mox2p8QVJLTfSBAH"
            dat a-amount=".99"
            data-name="ex"
            data-description=" expired"
            data-email="{{ auth::check() ? auth()->user()->email : null }}"
            data-image="https://stripe.com/img/documentation/checkout/marketplace.png"
            data-panel-label=" Run Ad {{ $product->title }} Coupon"
            data-locale="auto">
          </script>

          <script type="text/javascript">
              $(document).ready(function(){
                  $(".stripe-button-el span").remove();
                      $("button.stripe-button-el").removeAttr('style').css({
                          "display":"inline-block",
                          "width":"50%",
                          "padding":"5px",
                          "background":"#d95a5c",
                          "color":"white",
                          "font-size":"1.3em",
                          "margin-left":"30%"}).html("Advertise");
                  });
          </script>
          <input type="hidden" name="adname" value="payment">
          <input type="hidden" name="adprice" value="0.99">
          <input type="hidden" name="prod_id" value="{{$product->id }}">
      </form>
@endif

1 Ответ

0 голосов
/ 13 июня 2018

Это можно сделать только на внешнем интерфейсе, просто добавив атрибут отключен.

$(".your-button").on("click", function(){
 $(this).setAttr("disabled", "disabled");
});

Теперь у этого предложения есть недостаток: он не будет уверен, что покупка продукта прошла (была завершена).) или нет.

Другой способ состоит в том, чтобы просто опросить сервер, используя ajax, для получения статуса этого платежа, и после того, как вы его получите, отключите его.

Вы можете использовать сочетание обоих методов.

...