disabledになっている値をサーバにPOSTする

スポンサーリンク

disabledの値をサーバーにPOSTする

HTMLでFORMに貼りつけた値をサーバのCGIにPOSTする際にその部品がdisabledになっているとサーバに送信されません。
(今さらながらハマりました。)

これを防ぐには大きく分けて2つの方法があります。

送信直前にdisabledを解除

これは送信直前にdisabledになっている値を解除してサーバのCGIに送信します。

「送信直前にdisabledの値をhiddenにコピー」よりも隠しタグが不要な分、実装は楽です。
しかし、サーバで処理をしている間も画面を表示したままの場合は、ユーザーが画面の情報を書き変えてしまう事が発生します。
(POSTした後にdisabledに戻せば問題ないのかも知れませんが...)

送信直前にdisabledの値をhiddenにコピー

これは送信直前にdisabledになっている値を別の隠しタグにコピーして送信し、サーバのCGIではそちらの値を使います。
こちらは画面表示をしたままでもdisabledの状態に変わりはないので「送信直前にdisabledを解除」のような心配ありません。

どちらの方法も一長一短なので、利用する場合は注意が必要です。

特にユーザーの選択状態によって「入力」の可、不可が決まるような画面は、サーバ側のCGIで必ず値が来ると思って処理をしていると思わぬところで不具合を引き起こします。

HTML
スポンサーリンク
色白おばけをフォローする

おすすめプログラミングスクール

「侍エンジニア塾」は、未経験者でも結果が出せるプログラミング学習サービスです。
専属のインストラクターとの対面かSkypeでのレッスンを通じてプログラミングスキルを身につけて頂き、就職や転職までサポートします。
「侍エンジニア塾」の『3つ』の大きな特徴

  1. 完全マンツーマンレッスン
  2. フルオーダーメイドカリキュラム作成
  3. 独立・起業・フリーランス支援

誰もが自分の技術で稼げる人材になるための教育プログラム
TECH::EXPERTのこだわりは「実務的な教育コンテンツ」と「徹底したサポート体制」の2つです。

  1. 現場で使える実践的な技術が身につく
    有名企業のエンジニアへヒアリングを重ね、1年かけて創り上げた教育プログラムがあなたを実務レベルの即戦力エンジニアへ高めます
  2. 学習方法はライフスタイルに合わせて学べます
    ・一気にエンジニアへ駆け上がる「短期集中スタイル」
    ・無理なく確実にエンジニアへ「週末集中スタイル」
    ・自分のペースで自由に学ぶ「オンラインスタイル」

TECH::CAMP(エンジニアスクール)。
【Webアプリケーションコース】
全くの未経験からWebアプリケーション開発に必要なスキルを全て学ぶことができます。
【iPhoneアプリコース】
全くの未経験から最新の開発言語Swiftを用いてiPhoneアプリ開発を学ぶことができます。
自分だけのiPhoneアプリつくって世界に向けてリリースしたい方には自信を持っておすすめできる内容です。

ソフトウェア開発日記
タイトルとURLをコピーしました