<script
src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="pk_test_dNbyQ3qsyTe8IAikxSfnLhBl"
data-amount= <%= number_to_currency(@shopping_cart.total) * 100 %>
data-name="Abound"
data-description="Checkout"
data-image="https://stripe.com/img/documentation/checkout/marketplace.png"
data-locale="auto">
document.querySelectorAll('.stripe-button').addEventListener('click',function(){
<%= @shopping_cart.clear %>
}
Dies ist eine Stripe-Schaltfläche, die Zahlungen verarbeitet. Das Problem ist der Eventlistener. Jedes Mal, wenn ich die Seite aktualisiere oder zu einer anderen Seite gehe, wird der Ruby-Code ausgeführt und mein Warenkorb wird gelöscht. Hat jemand Ideen? Auch wenn ich die js ändere, um sie ungültig zu machen, wird der Rubin ausgeführt. Kannst du das auch erklären?Ereignis-Listener zu Stripe hinzufügen Schaltfläche "JS"
Voll Seite geladen:
<h1>Shopping Cart Contents</h1>
<div style="font-size: 14px; "> <%= render :partial => 'shopping_cart_item', :collection => @shopping_cart.shopping_cart_it ems %> </div>
<div style="font-size: 18px;"><strong>Total:</strong><%= number_to_currency (@shopping_cart.total) %></div>
<form>
<script
src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="pk_test_dNbyQ3qsyTe8IAikxSfnLhBl"
data-amount= <%= number_to_currency(@shopping_cart.total) * 100 %>
>> data-name="Abound"
data-description="Checkout"
data-image="https://stripe.com/img/documentation/checkout/marketplace.png"
data-locale="auto">
document.querySelectorAll('.stripe-button').addEventListener('click',function(){
<%= @shopping_cart.clear %>
}
</script>
</form>
</div>
Edit: Was ich tun am Ende wird nur eine neue Sicht Seite für den Wagen zu schaffen, da Ruby-Server-Seite geladen wird und somit nicht gut in js eingebettet spielt.
Wie die Interpolation ausgewertet wird? Was ist im aktuellen HTML-Code beim Laden der Seite? –
Wie kann das Hinzufügen eines Ereignis-Listeners zum Button etwas damit zu tun haben, dass der Warenkorb beim Aktualisieren auf dem Server gelöscht wird? Das klingt wie ein [XY Problem] (https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) – charlietfl
@aluan Ich habe die vollständige Datei – user7811328