BLOGスタッフブログ

[プログラミング] 新人向け ブラウザに表示されているデータを取る

このところ、新人さんから立て続けに

画面表示するときにA、B、Cという3つのデータを送ったのに、画面から帰ってくるのがBとCだけなんです

という感じの質問を受けました。
というわけで、今回はWebの仕組みについて基本的な内容をおさらいしたいと思います。

画面の表示時に設定したデータが、登録ボタンを押した結果に含まれないのは何故か?
答えは、画面側で返却できる要素に格納されていないからです。

Webの言い方なら、inputタグやselectタグといったデータをセットして変更できるタイプの要素のみsubmitされるルールです。
例えば、「labelタグに表示しただけの値」はsubmitされないので、画面から帰ってくるデータ(POSTされたデータ)には含まれないのです。
このため、サーバ側にデータを返したい場合はhidden属性だとか、非表示のテキストボックス等を利用することになるわけですね。

これって、普通のHTMLコーディングを知っている人からしたら当たり前な話なんですが、プログラムが関わってくると認識が違ってくるケースがあるようです。

認識の違いのポイントは、ブラウザ上に表示されている画面」と「ソースコードファイルの画面テンプレート」が同じものだと思ってしまうことが原因のようです。
スタンドアロン系やクライアントサーバ系のプログラムの経験がある人も、この辺で頭を悩ませてしまうようで上記のような簡単なことに気が付かないみたいですね。

ブラウザで表示されているのは、「サーバ側で作ったHTMLを表示しているだけ」であって「画面テンプレートをそのまま表示しているわけではない」ということを覚えておきましょう。

それでは

上松 博志が書いた他の記事

見積もり・ご依頼など、
お気軽にご相談ください

本サイトはユーザーエクスペリエンスの向上などを目的に、Cookieを使用しています。
右記のバナーで「同意する」をクリックする、または本サイトを利用することにより、
お客様は弊社のCookieポリシーに同意したことになります。

同意します