- ベストアンサー
formの外にあるチェックボックスをPost送信?
- HTMLのソース上、または、ページのレイアウト上、一つの<form>タグの外に配置しざるを得ない<input>要素がある場合があると思います。
- <form>と</form>の間に挟まれていない、input項目(この場合はチェックボックス)は、Postしても送信されないと思うのですが、どのように対処するのが宜しいのでしょうか?
- javascriptでチェックされた記事のIDを、<form>タグの間に、<input type="hidden">で、それぞれ、挿入されていくように実装するという方法がベストプラクティスです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ページ内にフォームがひとつしかないならそういうことは起こらないですが 投稿フォームと検索フォームが同居してるページで レイアウト通り作ると投稿フォームが検索フォームを内包しちゃったり 商品の一覧ページとかの商品毎の同じ入力フィールドの値を 個別に送信ボタンとまとめて送信とか違う送信ボタンで使いたいとか 複数フォームがある場合はそういうケースがないことはないですよね そういう場合ウチは ボタンだけが外に出るならボタンのonclickでsubmitさせる 泣き別れしたformの値を結合して使わなきゃいけない場合は jqueryのselializeやselializeArrayを使って送信時に結合して処理 データを拾いたい入力が散在していて個々にはformでくくる必要が ない場合にはonchangeでhiddenで入れるみたいなカンジの使い分けをしてます javascriptがないと動かないってのは好ましくないので出来る限り避けますが
その他の回答 (2)
- play_with_you
- ベストアンサー率37% (112/301)
>HTMLのソース上、または、ページのレイアウト上、一つの<form>タグの外に >配置しざるを得ない<input>要素がある場合があると思います(?) 無い。絶対無い。 <form>はレイアウトに影響しないし、フォームの構造がレイアウトの影響を受けるのもおかしい。 もしかして<form>の中には<input>とか<textarea>とか「フォーム部品」しか入れられないと勘違いしてませんか? もっと言うとカテ違い。
補足
>無い。絶対無い。 掲載画像の一括操作ボタンの右端には、また別の検索フォームがあるんです。 つまり、一ページに2つのフォームがあるという状態です。 No3の方がおっしゃっている状態になります。 ><form>の中には<input>とか<textarea>とか「フォーム部品」しか入れられないと勘違いしてませんか? 他のページに設置しているformタグ内には、divタグやらtableタグやらいろいろと入れてますよ。
formってそもそもレイアウトに関連しないと思いますが・・・ 最悪body全体formで囲んでも誤りではありませんよ。
補足
コメントありがとうございます。 実はformが同一ページ内に2つあるんです。
お礼
ありがとうございます。 >投稿フォームと検索フォームが同居してるページ まさにおっしゃる通りで、一括操作用のプルダウンメニューと送信ボタンをまとめたフォーム(掲載画像)と、 掲載画像には映ってはいないが同一ページ右端に検索フォームがある状態です。 なるほど。やはり、jsを使って、チェックボックスのonとoffの変更を監視して、 onになったら、該当フォーム内にinput hiddenをDOM操作で追加していくっていう感じになるのですかね。 >javascriptがないと動かないってのは好ましくないので出来る限り避けますが 確かに。。。 CSSのpositioを使って、上手くレイアウトを組むっていう方法も考えないといけないのかもしれないですね~。 ありがとうございました!!!