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

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

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

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

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

859閲覧

modal内にif文を表示できません

zigrable

総合スコア6

Ruby on Rails

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

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2019/11/29 13:53

編集2019/11/30 00:57

プログラム初学者です

railsでクイズアプリを作っており、正解、不正解、あと解説をmodal内で表示させようとしています。
HTMLでtextを打ち込み、buttonを押すと正誤判定をしようとしています。
JSで正誤判定を行い、Modal内で表示させようとしています。
入力されたデータをデータベースに保存しないようにしています。

困っている事
・modal内にif文で正誤判定をしたいが、挿入の仕方がわからない

出来ている事
・modalの表示/(正誤判定以外の)テキストの挿入
・jsでformのtextを取り出し

考えたこと
・shown bs modalでif式を使えば表示できるか考えたが、表示出来ず
・HTMLにJS変数の変数を持ってこれば計算できるかと思ったが、調べたらIDでしか持ってこれないとのことで断念

html

1 2<form> 3<p><input type ="text" name = "Qanswer" row = "1" cols = "15" placeholder = "回答を入力" id = "textData" class = "answer__text"> 4</p> 5</form> 6<a class = "js-modal-open" href = ""> <%# クリックでモーダルを表示 %> 7<input type = "button" name = "btn" value = "回答する" id = "sendBtn" class="answer__btn"> 8</a> 9<div class="modal js-modal"> 10<div class="modal__bg js-modal-close"></div> 11<div class="modal__content"> 12<p> 13※正解不正解をここで表示したい<br> 14解答<br> 15解答の内容</p> 16<a class="js-modal-close" href="">閉じる</a> 17</div><!--modal__inner--> 18</div><!--modal--> 19

JavaScript

1$(function(){ 2$('.js-modal-open').on('click',function(){ 3$('.js-modal').fadeIn(); 4return false; 5}); 6$('.js-modal-close').on('click',function(){ 7$('.js-modal').fadeOut(); 8return false; 9}); 10}); 11 12 13$(function () { 14$("#sendBtn").click( function() { 15// テキストボックスのデータを取得します 16var getData = $("#textData").val(); 17// 取得値をメッセージで表示します 18// if (getData == gon.post) { 19// document.write("正解"); 20// } else { 21// document.write("不正解"); 22}); 23}) 24 25

足りない情報がございましたら準備しますのでお申し付け下さい。

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

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

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

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

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

m.ts10806

2019/11/29 20:18

コードはマークダウンのcode機能を利用してご提示ください。 また正誤判定はどこで(言語の話)行おうとしていますか?
zigrable

2019/11/30 00:51

失礼致しました。 コード修正しました。 JSでの正誤判定を考えています。
guest

回答1

0

ベストアンサー

サーバーサイドの言語とクライアントサイドの言語は並列に動かすことは出来ません。

画面が表示された時にはRubyの処理は終わっていますし、
JavaScriptの動作の中にRubyのコードを埋め込んで「JavaScriptの中で動かす」ようなことはできません。

Ajaxで一度サーバーサイドにJavaScriptの情報を送信し、
サーバーサイド側で処理をし結果を返してJavaScript側で受け取り結果を表示させてください。
※それでもdocument.write()にはなりませんが

「言語名 Ajax」で検索するとやり方は結構出てきます。
teratailでもRailsでAjaxの質問は結構見ます。
私自身がRuby分かるわけではないですが、それだけやり方は確立されているものですので、
まず「Ajaxとは何か」「サーバーとクライアント」「リクエストとレスポンス」についての知見を深めてください。

投稿2019/11/29 21:27

m.ts10806

総合スコア80854

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

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

zigrable

2019/11/30 00:54

回答ありがとうございます。 Rubyの場合はサーバーとクライアントで動かすことは出来ないのですね。 gemの'gon'のような物があればと探したのですが・・・。その役割をさせるとしたらAJAXで送る形になるのですね。 知識が浅くて申し訳ありません。AJAXは非同期で使う物と考えてしまっておりました。
m.ts10806

2019/11/30 01:03

Rubyがサーバーサイドの言語 JavaScriptがクライアントサイドの言語です。 Ajaxは非同期で間違いありません。 「正答」は結局サーバー側に持たないと意味がないので正誤判定はサーバー側で行い、結果のみJavaScriptに返し正誤の文字列表示はJavaScriptで行うことになります。
zigrable

2019/11/30 01:23

なるほど。それではAjaxでサーバーに渡してサーバー側で条件式をすれば良いのですね。 一度試してみます。 回答ありがとうございます。
m.ts10806

2019/11/30 03:34

おおよそ認識の通りと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問