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

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

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

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

Q&A

解決済

1回答

718閲覧

Railsでconfirmのokした後にのみ処理を走らせる

jotaku

総合スコア40

Ruby on Rails

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

0グッド

0クリップ

投稿2019/09/05 10:13

link_to url , id: 'sample',data: {confirm: 大丈夫ですか?}, class: class_type, style: "margin-left: 20px;" ,method: :post do

railsのview側で確認ダイアログのok,Noを押した後に

console.log('うまくいったよ')

を走らせて読み込み処理を行いたいです

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

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

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

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

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

guest

回答1

0

ベストアンサー

data-confirm(ヘルパーでconfirmと書くとこれが生成される)による処理は、UJS(Rails用のJavaScript)組み込みの処理であって、自分で変更することは基本的にできません

確認画面を出すところから自前でやるしかないでしょう。

erb

1link_to url , id: 'sample', class: class_type, style: "margin-left: 20px;" ,method: :post do

javascript

1const elem = document.getElementById('sample'); 2if(elem) { 3 elem.addEventListener('click', function(e) { 4 if(!confirm('大丈夫ですか?')) { 5 e.preventDefault(); 6 e.stopPropagation(); 7 return; 8 } 9 console.log('うまくいったよ'); 10 }, false); 11}

もっとも、(Turbolinksを使っていない場合)console.logを出した直後にページ遷移してしまうと確認は難しいかもしれません。

投稿2019/09/05 11:40

maisumakun

総合スコア145183

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問