[pod] [xml]

名前

HTML::FillInForm - HTML フォームにCGIデータをすまわせる

説明

このモジュールは、前のページのHTMLフォームからのデータを HTMLの input や textarea や select タグに自動的に挿入します。 HTML::Parserのサブクラスであり、HTML::ParserでHTMLを解析し、値をフォームタグに挿入します。

有益な適用例の一つは、ユーザーがHTMLフォームを、必要事項を埋めずにサブミットしたら、 HTML::FillInFormは、全てのフォーム要素がサブミットされた内容を含んでいる状態で、 HTMLフォームを再表示するのに使われえます。

概要

この例では、$htmlForm に入っているHTMLフォームに、$qの中に入っているCGIパラメータで埋めます。 たとえば、以下では、どの"name"テキストフィールドの値も"John Smith"になります。

  my $q = new CGI;
  $q->param("name","John Smith");
  my $fif = new HTML::FillInForm;
  my $output = $fif->fill(scalarref => \$html,
			  fobject => $q);

メソッド

他のモジュールからの呼び出し

Apache::PageKit

Apache::PageKitで、HTML::FillInFormを使うのは簡単です。 <form>タグを含むいくつかのページのために、自動的に呼ばれます。 fill_in_form設定オプションを使うことで有効か無効にできます。

Apache::ASP v2.09 を含むそれ以降のバージョン

HTML::FillInFormは、いまや、Apache::ASPに統合されています。次のようにすれば有効になります。

  PerlSetVar FormFill 1
  $Response->{FormFill} = 1

バージョン

このドキュメントは、HTML::FillInFormモジュール versin 1.00 について説明しています。

セキュリティ

ページにパスワードフィールドがある場合、キャッシュの問題を思いつくかもしれません。 次のURLにこの問題についての議論があります。

http://www.perlmonks.org/index.pl?node_id=70482

要約すれば、ブラウザにはCGIスクリプトの出力をキャッシュするものがあり、 Expires ヘッダをセットすることでこれをコントロールできます。 たとえば、CGI.pm-expires を使ったり、 Apache::PageKitの Config.xml ファイルのbrowser_cashenoにセットすることで、キャッシュをコントロールできます。

バグ

どんなバグレポートも、tjmather@tjmather.com.に提出してください。

注意書き

Perl 5.005 と HTML::Parser version 3.08 を必要とします。

HTMLとPerlコードを結びつけることをせずにCGIデータをHTMLフォームに挿入できたかったので、 このモジュールを書きました。 CGI.pmと Embperlは、CGIデータをフォームに挿入することを可能にしますが、 HTMLとPerlをミックする必要があります。

著者

(原文まま)

(c) 2002 Thomas J. Mather, tjmather@tjmather.com

All rights reserved. This package is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

HTML::Parser, Data::FormValidator, HTML::Template, Apache::PageKit

CREDITS

修正、バグレポート、ドキュメントが、以下の方々により寛大に提供されました:

  Tatsuhiko Miyagawa
  Boris Zentner
  Patrick Michael Kane
  Ade Olonoh
  Tom Lancaster
  Martin H Sluka
  Mark Stosberg
  Trevor Schellhorn
  Jim Miner
  Paul Lindner
  Maurice Aubrey
  Andrew Creer
  Joseph Yanni
  Philip Mak
  Jost Krieger
  Gabriel Burka
  Bill Moseley

Thanks!

翻訳について

翻訳者:加藤敦 (ktat.is@gmail.com)

Perlドキュメント日本語訳 Project にて、 Perlモジュール、ドキュメントの翻訳を行っております。

 http://perldocjp.sourceforge.jp/
 http://sourceforge.jp/projects/perldocjp/
 http://www.freeml.com/ctrl/html/MLInfoForm/perldocjp@freeml.com
 http://perldoc.jp