プロが教える店舗&オフィスのセキュリティ対策術

1つのselect文の値を、2つのformで使いたいのですが、やり方がわかりません。

javascript を使わないと出来なそうが気はしていますが、具体的な方法がわかりません。
よろしくお願いします

A 回答 (2件)

No1です。



>やっぱり、JavaScript無しでは無理なんですね。
内容によっては、スクリプト無しでも可能かもしれません。

どのような使い分けをしようとしているのか不明ですが、ケースわけができるようなら、formをひとつにまとめておいて、受取側(サーバ側)で処理を分ければすむかも知れませんので。
その場合は、全ての値が送信されるので(セレクトの値は必ず送られている)、サーバ側で必要な値だけを使用すればよいことになります。
(全体の処理内容によるので、可能なのかどうかはわかりませんけれど)
    • good
    • 0
この回答へのお礼

再度、回答ありがとうございます

>受取側(サーバ側)で処理を分ければすむかも知れません
受信側を変更するのは大変なのでその解決策は今回は無理ですので、素直にJavaScriptで解決したいです。
JavaScriptプログラムを読んで、修正はできるのですが、はじめからプログラムを書くのはハードルが高いレベルです(C言語ならなんとかなるのですが・・・)
JavaScript のプログラム例の載った記事ありましたら、教えてください。


>どのような使い分けをしようとしているのか不明ですが
質問では問題を簡単にするため「2つのフォーム」と書きましたが、
 実際はそれぞれ利用実績のある5つほどのフォームをまとめたい
 しかも将来は随時追加していきたい 
 いくつかのフォームでは共通の選択肢、例えば、利用資格とか在籍年数などがあり、これらを個別に毎回入力させずに済ませたい
という感じです。

お礼日時:2020/07/04 22:11

こんにちは



>やり方がわかりません。
条件がわかりませんが、二つのformを仮にform1とform2として、form1にselect要素の実態があるものとします。
form2には、
同じname属性の、<input type="hidden" />を設定しておきます。
(これが、select要素の代わり)

同じ値にするためには、form2のsubmitイベントで、
 form2のinput.value に form1のselect.value を代入すれば事足りるはずと思います。

(常に同じ値にしておくとかも考えられますが、ご質問の場合では必要なさそうなので)
上記のやり方なら、要素の値の参照と代入さえできれば実現できると思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます

>同じ値にするためには、form2のsubmitイベントで、
> form2のinput.value に form1のselect.value を代入すれば事足りるはずと思います。
なるほど、submit する直前に値を持ってくる JavaScript を書く方法ですね。

select文の場所と、<input type="hidden" />の場所を
 document.getElementById()
で指定して、前者のselect.value を後者の値(変数名は?)にする

ということはわかりました。

やっぱり、JavaScript無しでは無理なんですね。
ありがとうございます。

お礼日時:2020/07/04 15:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!