質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

0回答

457閲覧

初回読み込み時にpayjpのフォームが表示されない

YutaTanikawa

総合スコア8

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2019/04/27 08:53

編集2019/04/27 09:12

お世話になっております。

payjpのチェックアウト機能を利用してECサイトのようなものを作ろうと考えています。

初回読み込み時では購入ボタンがうまく表示されないのですが、該当ページをリロードすると、表示されるようになります。

formの要素自体はGoogle Chromeの開発者ツールで存在することを確認したので、Javascriptの読み込み順が関係しているのかなと素人ながらに考えたのですが、解決策がわからずご質問しております。
独学で学んでいるため、わかりにくい点があるかもしれませんが、解決に向けてのヒントでも結構ですので、ご教示いただけると幸いです。

【環境】
Rails 5.2.3
Bootstrap 4.1.3
Turbolinks 5.2

1回目の読み込み時の画像
1回目の読み込み時の画像(Chrome)

2回目の読み込み時の画像
2回目の読み込み時の画像(Chrome)
一瞬、payjpのデフォルトのボタンが表示され、その後styleで指定した表示に変わる。

【コード】

HTML

1<html> 2 <head> 3 <title>Sample</title> 4 <%= csrf_meta_tags %> 5 <%= csp_meta_tag %> 6 7 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 8 <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> 9 <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> 10 11 </head> 12 <body> 13 <%= render 'header' %><!-- サインアップなどの部分 --> 14 15 <section id="main" class="sticky-top"> 16 <div class="main_header"><!-- #main_header --> 17 <div class="row"> 18 <div class="product_name col-6 col-lg-6"><!-- .product_name --> 19 <h2><%= @product.name %></h2> 20 </div><!-- /.product_name --> 21 <div class="buy_button col-6 col-md-2 col-lg-2"> 22 <%= form_tag(action: :pay, method: :post) do %> 23 <script type="text/javascript" 24 src="https://checkout.pay.jp" 25 class="payjp-button" 26 data-text="購入する" 27 data-key=<%= ENV['PAYJP_PUBLIC_KEY'] %>> 28 </script> 29 <% end %> 30 </div> 31 </div> 32 </div><!-- /.main_header /.sticky-top2--> 33 </section> 34 35 中略 36 37 <!-- 後からstyleを読み込ませてpayjpのボタンのデザインを変更 --> 38 <style type="text/css"> 39  .buy_button { 40 position: absolute; 41 top:50%; 42 left:80%; 43 width: 130px; 44 -webkit-transform: translate(-50%, -50%); 45 -moz-transform: translate(-50%, -50%); 46 -ms-transform: translate(-50%, -50%); 47 -o-transform: translate(-50%, -50%); 48 transform: translate(-50%, -50%); 49 } 50 51 #payjp_checkout_box input[type=button] { 52 color: DodgerBlue; 53 border: 1px solid #1E90FF; 54 background-color: rgba(255,255,255,0); 55 padding: 5px 10px 5px 15px; 56 border-radius:0.5em; 57 background-image:none; 58 font-size: 0.9rem; 59 } 60 61 .buy_button button:hover { 62 cursor: pointer; 63 } 64 </style> 65 66 </body> 67</html>

Css

1// Application.scss 2.main_header { 3 background-color: rgba(255,255,255,0.95); 4 border-bottom: 1px solid lightgrey; 5 margin-bottom: 10px; 6 position: relative; 7 /* メディアクエリでmd以上になったらbox-shadowは消す */ 8 box-shadow: 3px 3px 3px rgba(0,0,0,0.4);; 9} 10 11.main_header { 12 .row { 13 margin-left: 0px; 14 margin-right: 0px; 15 position: relative; 16 } 17} 18 19@supports ((position: -webkit-sticky) or (position: sticky)) { 20 .sticky-top { 21 position: -webkit-sticky; 22 position: sticky; 23 top: 0px; 24 z-index: 1020; 25 } 26} 27 28.main_header h2 { 29 font-size: calc(110% + 0.4vw); 30 font-weight: bold; 31 text-align: left; 32 margin: 15px 0 15px 0; 33 color: #444444; 34} 35

不要と思われるところを削除したので、もしかしたら情報不足になっているかもしれません。
必要な情報があれば追記したいと思います。

お忙しいところ恐れ入りますが、よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問