Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将事件侦听器添加到Stripe JS按钮 document.queryselectoral('.stripe button')。addEventListener('click',function(){ }_Javascript_Ruby On Rails_Stripe Payments - Fatal编程技术网

Javascript 将事件侦听器添加到Stripe JS按钮 document.queryselectoral('.stripe button')。addEventListener('click',function(){ }

Javascript 将事件侦听器添加到Stripe JS按钮 document.queryselectoral('.stripe button')。addEventListener('click',function(){ },javascript,ruby-on-rails,stripe-payments,Javascript,Ruby On Rails,Stripe Payments,这是一个处理付款的条带按钮。问题在于Eventlistener。每次我刷新页面或转到其他页面时,ruby代码都会被执行,我的购物车也会被清除。有人有什么想法吗? 即使我改变js使其无效,ruby也会被执行,你能解释一下吗 正在加载的完整页面: <script src="https://checkout.stripe.com/checkout.js" class="stripe-button" data-key="pk_test_dNbyQ3qsyTe8IAikxSfnLhBl" data-

这是一个处理付款的条带按钮。问题在于Eventlistener。每次我刷新页面或转到其他页面时,ruby代码都会被执行,我的购物车也会被清除。有人有什么想法吗? 即使我改变js使其无效,ruby也会被执行,你能解释一下吗

正在加载的完整页面:

<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 %>
}
购物车内容
'shopping\u cart\u item',:collection=>@shopping\u cart.shopping\u cart\u it ems%>
总计:
>数据名称=“比比皆是”
数据描述=“签出”
数据图像=”https://stripe.com/img/documentation/checkout/marketplace.png"
数据区域设置=“自动”>
document.queryselectoral('.stripe button')。addEventListener('click',function(){
}
编辑:
我最后做的只是为购物车创建一个新的视图页面,因为Ruby是在服务器端加载的,因此在js中嵌入不好。

Ruby在服务器上运行……而不是在浏览器中运行……javascript则相反

您的问题是,
每次都将在服务器上执行…而不是在浏览器中触发事件时


我建议您使用ajax向服务器发送一些内容,然后根据需要清除该请求中的购物车

如何评估插值?加载页面时,实际HTML中有什么内容?向按钮添加事件侦听器与页面刷新时服务器上的购物车被清除有什么关系?这听起来像是@aluan我添加了完整的file@charlietfl我在清除购物车的事件侦听器中有ruby代码。无论是否满足JS条件,都会执行此代码。ruby在服务器上运行…而不是在浏览器中。我认为这是您的全部问题
每次都会在服务器上执行…而不是在浏览器中触发事件时
    <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>