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

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

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

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

jQuery

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

Q&A

解決済

1回答

2283閲覧

Jqueryでフォームの値を変更できるようにする

Blue_Balloon

総合スコア10

JavaScript

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

jQuery

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

0グッド

0クリップ

投稿2016/06/12 03:14

編集2016/06/12 04:35

###前提・実現したいこと
Jqueryでフォームの値を変更できるようにする

'money_params'というIDを持つフォームにhiddenから取得した値(数値)が入りますが
これを手で変更できるようにし、POST送信を試みています。
HTML側のフォームで手入力すると取得した値で固定されてしまい変更する事が出来ません。
よろしくお願い致します。

###発生している問題・エラーメッセージ
HTML側のフォームで手入力して変更したいが取得した値で固定されてしまう。

エラーメッセージ

###該当のソースコード

HTML

1 2<!-- hidden --> 3<input type="hidden" name="hidden_money" value="200" /> 4 5<!-- プルダウン --> 6<select class="pulldown" id="pulldown" name="pulldown_value"> 7<option value="0">パターン1</option> 8<option value="1" selected="selected">パターン2</option> 9</select> 10 11<!-- フォーム --> 12<input type="text" name="money_form" value="200" class="money" id="money_params1" /> 13<input type="text" name="money_form" value="0.08" class="money" id="money_params2" />

JQuery

1 2 $('.money').on('change',function(){ 3 calc(); 4 }); 5 $('.money').on('keyup',function(){ 6 calc(); 7 }); 8 9function calc() { 10 //プルダウンの値 11 var pulldown = parseInt($('#pulldown').val()); 12 13 //値 14 var money = parseInt($(':hidden[name="hidden_money"]').val()); 15 var money_tax = 0.08; 16 17 if(pulldown === 0) 18 { 19 $('#money_params1').val(''); 20 $('#money_params2').val(money_tax); 21 } 22 if(pulldown === 1) 23 { 24 $('#money_params1').val(money); 25 $('#money_params2').val(money_tax); 26 } 27});

###補足情報(言語/FW/ツール等のバージョンなど)
JQuery 2.1.4

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

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

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

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

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

kei344

2016/06/12 03:31

フォームHTMLやJavaScriptの全体像を質問文に追記いただいたほうが回答を得られやすいと思います。
Blue_Balloon

2016/06/12 03:46

有難うございます。コード修正しました。
guest

回答1

0

ベストアンサー

.moneyが変更されるたびにvalで書き換えてるので、そりゃ値を書き換えることはできません。
もしかして、プルダウンが変更されたらフォームが自動で書き換わる、というプログラムをかきたいのですか?

話は変わりますが、他にもいろいろ気になったので補足しておきます。

javascript

1$('.money').on('change',function(){ 2 calc(); 3});

ここの部分、JavaScriptでは関数を渡せるということを応用すれば
$('.money').on('change', calc);
と書き直せます。

また、HTMLとjQueryは別々にコード表示するといいと思います。

html

1<input type="text" value="hoge">

javascript

1$(function() { 2 // ... 3});

それぞれを```で囲めばOKです。

投稿2016/06/12 04:15

pandanoir

総合スコア72

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

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

Blue_Balloon

2016/06/12 04:26

有難うございます。色々と参考になります。 >もしかして、プルダウンが変更されたらフォームが自動で書き換わる、というプログラムをかきたいのですか? ご指摘の通りです。 更に、プルダウンで自動で書き換わったフォームの数値を変更したい場合が有るので、その場合は手動で入力してPOST、という一連の処理を試みております。
pandanoir

2016/06/12 06:10 編集

それなら.moneyではなくプルダウンのほうにイベントリスナをつける(=onでイベント指定)べきです
Blue_Balloon

2016/06/12 05:56

なんと、基本的な所を見落としていたようです。 おかげて直ぐに実現できました。有難うございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問