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

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

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

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

HTML

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

Q&A

解決済

2回答

2390閲覧

javascriptでページ上では計算結果を表示できているのですが、value="○○"の○○部分にも同じ値を表示させたいです。

ShunYoshizawa

総合スコア103

JavaScript

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

HTML

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

0グッド

0クリップ

投稿2016/11/14 06:21

編集2016/11/14 06:46

現在とあるスクールのイベントページを作成しています。

そこで申し込み人数とレンタル品の数を入力すると自動的に合計金額が税込で表示されるようになっています。

これがjavascriptのコードです。

javascript

1<script> 2function price(){ 3 var tax = 8; 4 5 var price1 = document.form1.goods1.selectedIndex * 15000; 6 var price2 = document.form1.goods2.selectedIndex * 4000; 7 var total = price1 + price2; 8 9 var tax2 = Math.round((total * tax) / 100); 10 11 var sum = total + tax2; 12 13 document.form1.field_total.value = sum; 14} 15</script>

これが合計金額が表示される部分のHTMLのコードです。

html

1<tbody> 2 <tr> 3 <td>15,000円</td> 4 <td> 5 <select name="goods1" onChange="price()"> 6 <option>0</option> 7 <option>1</option> 8 <option>2</option> 9 <option>3</option> 10 <option>4</option> 11 <option>5</option> 12 <option>6</option> 13 <option>7</option> 14 <option>8</option> 15 <option>9</option> 16 <option>10</option> 17 </select> 18 </td> 19 <td>4,000円</td> 20 <td> 21 <select name="goods2" onChange="price()"> 22 <option>0</option> 23 <option>1</option> 24 <option>2</option> 25 <option>3</option> 26 <option>4</option> 27 <option>5</option> 28 <option>6</option> 29 <option>7</option> 30 <option>8</option> 31 <option>9</option> 32 <option>10</option> 33 </select> 34 </td> 35 </tr> 36</tbody> 37<thead> 38 <tr> 39 <th class="table-red" colspan="2">合計金額(税込)</th> 40 <th class="table-red" colspan="2">申し込み</th> 41 </tr> 42</thead> 43<tbody> 44 <tr> 45 <td colspan="2"> 46 <input type="text" id="total" name="field_total" value="0" class="sum">47 </td> 48 <td class="entry-area" colspan="2"> 49 <a href="#" class="table-entry-btn" target="_blank">このプランで申し込む!</a> 50 </td> 51 </tr> 52</tbody>

inputのvalueの数値を合計金額と同じものにその都度変更するようなプログラムにしたいです。
(例えば、お客さんが申し込み人数を1人にした場合、合計金額が15,000円になります。そしたら、value="15000"になるように設定したいです。)
理由は、valueの値を決済フォームに飛ばして処理するからです。

色々調べて試したみたのですが、うまくいきません。

教えていただけるとすごく助かります。。。

よろしくお願いいたします!

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

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

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

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

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

date

2016/11/14 06:24

goods1のselectも質問に入れて置いてもらえませんか、また、field_totalは入力して変えることがあるのですか?
ShunYoshizawa

2016/11/14 06:47

情報を追加いたしました。また、field_totalは入力して変更することはありません。
guest

回答2

0

ベストアンサー

少しややこしいのですが、「HTML上に書かれているvalue」と、「JavaScriptから設定できるvalue」は、別の値です。

  • HTML上のvalue…これはフォーム表示用の初期値で、ユーザー入力で変化しない。JavaScriptからは、defaultValueとして参照可能(むろん、変えてもほぼ意味はない)。
  • JavaScriptでのvalue…これはフォームがいま持っている値で、ユーザー入力やJavaScriptでのvalue書き換えによって変化する、送信にもこちらの値が使われるけど、HTMLには現れない

投稿2016/11/14 06:28

編集2016/11/14 06:38
maisumakun

総合スコア145183

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

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

ShunYoshizawa

2016/11/14 06:55

回答ありがとうございます! HTMLのvalueの値を決済フォームで合計金額として、反映させたいと思っていたのですが、そういったことはできないということでしょうか?
maisumakun

2016/11/14 07:02

いえ、逆に「JavaScriptから見えているvalueの値」がフォーム送信にも使われるので、HTMLで書き換わっていなくてもどこにも影響しません。
guest

0

動いてますよー。

動くサンプル:https://jsfiddle.net/dru4Lxtg/

投稿2016/11/14 07:33

kei344

総合スコア69398

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問