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

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

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

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

jQuery

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

HTML

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

Q&A

解決済

1回答

4455閲覧

2つのForm同じチェックボックスとボタンの共有の方法について

JimmyKing2001

総合スコア15

JavaScript

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

jQuery

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

HTML

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

0グッド

0クリップ

投稿2016/03/22 02:41

編集2016/03/22 04:15

こんにちは。今あるWebシステム(エスナのフレームワークを利用して)を作っていて、2つのForm同じチェックボックスとボタンの共有の方法を何日間苦戦しています。具体的には現状

<form name="hello1" method="post"> <input type="checkbox" name="checkbox1" onClick="hello();"/> <input type="submit" name="hello1" value="表示"> ...(略) </form> <form name="hello2" method="post"> <input type="checkbox" name="checkbox2" onClick="hello();"/> <input type="submit" name="hello2" value="表示"> ...(略) </form> <script type="text/javascript"> $(document).ready(function(){ var checkBoxes_1=$("input [name=hello1]"); var checkBoxes_2=$("input [name=hello2]"); (checkBoxes_1.is(':checked'))?checkBoxes_2.attr("checked",true):checkBoxes_2.attr("checked",false); (checkBoxes_2.is(':checked'))?checkBoxes_1.attr("checked",true):checkBoxes_1.attr("checked",false); checkBoxes_1.change(function() { (checkBoxes_1.is(':checked'))?checkBoxes_2.attr("checked",true):checkBoxes_2.attr("checked",false); }); checkBoxes_2.change(function() { (checkBoxes_2.is(':checked'))?checkBoxes_1.attr("checked",true):checkBoxes_1.attr("checked",false); }); ...(略) }); </script>

もし2つのフォーム別々でチェックして別々でpostするならわかりますが、この2つのcheckboxのと表示ボタン内容が同じなので、1つに絞りたい場合(例えば片方隠したり、2つ取り出して1つにしたするなど)、jsで連動させることがなんかうまくいかないです。

いろいろ試してうまくいかなくて困っています、ご経験のある方教えていただけますでしょうか。よろしくお願いします。

追記:初心者で質問の的がずれてて申し訳ありません。やはりSessionとの関係がありますので、もう少し話しますと、上記form2のcheckBoxをhiddenで隠した場合、form1のところのcheckboxだけ表示されます。form1の表示ボタンをクリックすると、form1のcheckboxチェックの状態が残り、ページ再表示の時にチェックされるままになります。しかし、form2の表示ボタンをクリックすると、postの内容など問題がありませんが、form1のcheckboxはチェックの状態が保存されないです。この点で困っています。

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

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

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

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

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

sakura_hana

2016/03/22 03:06

使用しているフレームワークと、現状のjsを開示いただくとアドバイスしやすいです。また、「2つ取り出して1つにする」「片方postするとそのままになり、もう片方との違いが生じます」の部分について、具体的にどういうことか説明をお願いします。
shi_ue

2016/03/22 03:09

actionがないですが、同じところにpostしてるんでしょうか?
JimmyKing2001

2016/03/22 03:16

コメントどうもありがとうございます。フレームワークはエスナで、Sessionに関連する部分は混乱を招きますので削除させていただきました。
JimmyKing2001

2016/03/22 03:17

コメントどうもありがとうございます。2つのフォームは同じactionにpostしています。
JimmyKing2001

2016/03/22 03:28

コードの一部追加しました。
guest

回答1

0

ベストアンサー

actionが同じなら、formタグを一つに統一すれば、両方の値をpostしますから、Javascriptで変化した後の値をpostすることになります。

もし、それがだめなら、form中にhiddenを持たせて、ほかのformの内容もpostするようになさってはいかがでしょうか。

あと、三項演算子を処理に使うのはやめたほうがいいと思います。if文を使ってください。
見にくくなります。
この辺りは、好みの問題ですけどね・・・(動けばそれでいいとか)

投稿2016/03/22 03:38

編集2016/03/22 03:40
shi_ue

総合スコア4437

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

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

JimmyKing2001

2016/03/22 03:44

いつもお世話になります。2番目のhidden方法でいきたいですが、おしゃった「ほかのformの内容もpostするように」というところもう少し具体的に教えていただけますでしょうか(できれば一つのフォームでpostしたら再表示の時にもう片方のフォームのcheckboxも同じ状態にしたいです)。
shi_ue

2016/03/22 03:50

checkboxだけなのでしたら、javascriptで該当checkboxのchange時にhiddenに値をセットしてやるようにすればいいですよ。
JimmyKing2001

2016/03/22 04:02

ありがとうございます。ちょっとやってみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問