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

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

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

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

jQuery

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

Q&A

解決済

1回答

3215閲覧

SelectのOptionを選んだら投稿フォームに定型文をインサートしたい

Yuinyan

総合スコア312

JavaScript

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

jQuery

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

0グッド

1クリップ

投稿2016/07/07 11:00

###前提・実現したいこと
Teratailの投稿フォームのような記入しやすいWysiwygを実装したいと思っています。
現在は、Railsで利用できそうなSummerNoteかBootsyを利用したいと予定していますが、その中でこのTeratailの投稿フォームのように

1.「基本テンプレート」を選択するとフォーム内にコピペされる。
2.記入したものがプレビューで即座に閲覧できる

ということを実現したいと思っています。

今のところHTML(Markdownではなく)を想定しております。

###試したこと

JSで実現するのだろうことは想像できるのですが、JSが不勉強でよく理解できていません。。。
ググって下記のようにやったのですが、<option></option>ではこの投稿欄のように複数行に渡ってペーストするにはふさわしくない、と思いどのようにすべきか皆様に教えてほしいと思っています。

<script type="text/javascript"><!-- function get(target,n) { obj = target.getElementsByTagName("option"); h = obj[n].innerHTML; document.getElementById("result").innerHTML = h; } //--></script> <select onchange="get(this,this.selectedIndex)"> <option value="1">膨大な文字列</option> <option value="2">膨大な文字列</option> </select> <form method="POST" action="sample.cgi"> <div> <textarea name="msg" cols=40 rows=4 id="result"> あいうえお </textarea> </div> <input type="submit" value="送信"> </form>

宜しくお願いします!

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

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

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

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

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

kei344

2016/07/08 02:13

コードはコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「</>」ボタンを押すとコードブロックになります。
guest

回答1

0

ベストアンサー

html

1<!DOCTYPE HTML> 2<html lang="ja"> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title> 6 </head> 7 <body> 8 <form action=""> 9 <select name="" id=""> 10 <option value="">----</option> 11 <option value="1">サンプル1</option> 12 <option value="2">サンプル2</option> 13 <option value="3">サンプル3</option> 14 </select> 15 <textarea name="" id="" cols="30" rows="10"></textarea> 16 </form> 17 18 <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script> 19 <script type="text/javascript"> 20 $(function () { 21 var template = [ 22 '', 'テンプレ1', 'テンプレ2', 'テンプレ3' 23 ]; 24 25 $('select').on('change', function () { 26 var i = $(this).val(); 27 $('textarea').val(template[i]); 28 }); 29 }); 30 </script> 31 </body> 32</html>

投稿2016/07/07 11:10

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

Yuinyan

2016/07/08 01:15

ご回答ありがとうございます! ここで教えて頂いたテンプレ1、テンプレ2、テンプレ3の部分にHTMLのコードを並べてもよいものなのでしょうか。別ファイルにする必要はないということでしょうか。何度もすみません、、。
退会済みユーザー

退会済みユーザー

2016/07/08 03:10

別ファイルにしようと、構いませんよ。取り扱いしやすいようにいじってください。
退会済みユーザー

退会済みユーザー

2016/07/08 03:12

ただし、HTMLのコードは書けませんよね。textareaに出力したいようなので。試してみれば、わかることでしょうから、説明は省きます。
Yuinyan

2016/07/11 03:09

有難うございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問