🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Ruby on Rails 6

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

1回答

662閲覧

Jqueryでラジオボタンの真偽値を一つずつ調べる処理方法について

RTn

総合スコア4

Ruby on Rails 6

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2021/03/03 17:01

railsのradio_button_tagで設置したラジオボタンが選択されていなかったらアラートが出るようにしたいのですがjavascriptとJqueryを始めたばかりのため調べても解決できなかったためご教授をお願いしたいと思っております。

送信ボタンがclickされたとき未選択のラジオボタンがあったらアラートを出したい

ruby

1<%= form_with url: "/home/result", controller: "home", action: "result", local: true, id: "radio_buttom" do %> 2 <section > <strong>Q1 質問1</strong> 3 <p> 4 <%= radio_button_tag("radio1" , "1" )%> 5 <%= label_tag("radio1_1","とても当てはまる")%> 6 <%= radio_button_tag("radio1" , "2" ,)%> 7 <%= label_tag("radio2_2","当てはまる")%> 8 <%= radio_button_tag("radio1" , "3",)%> 9 <%= label_tag("radio1_3","当てはまらない")%> 10 <%= radio_button_tag("radio1" , "4",)%> 11 <%= label_tag("radio1_4","全く当てはまらない")%> 12 </p> 13 <section> 14 <section > <strong>Q1 質問2</strong> 15 <p> 16 <%= radio_button_tag("radio2" , "1" )%> 17 <%= label_tag("radio2_1","とても当てはまる")%> 18 <%= radio_button_tag("radio2" , "2" ,)%> 19 <%= label_tag("radio2_2","当てはまる")%> 20 <%= radio_button_tag("radio2" , "3",)%> 21 <%= label_tag("radio2_3","当てはまらない")%> 22 <%= radio_button_tag("radio2" , "4",)%> 23 <%= label_tag("radio2_4","全く当てはまらない")%> 24 </p> 25 <section> 26 //あとラジオボタンフォームが10回分ありますが省略させていただきます。 27  <%=submit_tag "送信" %> 28<%=end%> 29

Javascript

1$('#submit').click(function(){ 2 if (真偽地の判定の処理){ 3 4 }else{ 5 alert('未選択の質問があります。'); 6 } 7 });

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

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

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

guest

回答1

0

もし古いブラウザをサポートしなくてよいなら、各グループのラジオボタンの1つにrequired属性を付けるだけで、JavaScriptコードはまったく必要ありません。

ruby

1 <%= radio_button_tag("radio1" , "1", required:'' )%>

古いブラウザをサポートする必要があるなら、現在のコードを以下のように直しましょう。

javascript

1$('#submit').click(function() { 2 const groups = ['radio1', 'radio2', ...以下続く]; 3 const allGroupsChecked = groups.map(g => !!this.form[g].value).reduce( 4 (acc, value) => acc && value); 5 if (!allGroupsChecked){ 6 alert('未選択の質問があります。'); 7 return false; 8 } 9});

投稿2021/03/04 00:16

編集2021/03/04 01:12
int32_t

総合スコア21679

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

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

RTn

2021/03/10 12:09

この度はご回答ありがとうございます。 後でメソッドの意味を調べてみようと思います。 とりあえず実装してみたのですが、うまく作動せずに選択されていないボタンがあるとエラーページが出てしまいました。 if文の部分を削除し、アラートだけ出そうとしたのですが出ませんでした、 jqueryで文字色は変更できたので作動自体はするのですが、何が原因かわかりますでしょうか?
FKM

2021/03/16 00:13

Chromeを開いてF12で開発を開き、consoleで確認してみてください。エラーを吐いている可能性があり、アラートメッセージを出すまでの間に処理が止まっている可能性もあります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問