人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

cgi(perl)に詳しい方へ
htmlのフォームのテキストボックスに入力されたデータを、次のcgiのページに配置したテキストボックスに自動で入れることは出来ますか?

●質問者: Hiroto
●カテゴリ:コンピュータ ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● うぃんど
ベストアンサー

前回に引き続き、CGI.pmをuseします
出かける前にいきなり書いていますので、動作は未確認です

# CGIライブラリの準備
use CGI;

# 初期化
$query = new CGI;

# 出力
print $q->header;
print $q->start_html;
print $q->start_form(-action=>'URLを入れる' ,-method=>'post');
print $q->textfield(-name=>'n1', -default=>$query->param('n1'));
print $q->textfield(-name=>'n2', -default=>$query->param('n2'));
print $q->textfield(-name=>'n3', -default=>$query->param('n3'));
print $q->end_form;
print $q->end_html;

「CGI.pm form」などで検索するといろいろ出てくるので、調べてみてくださいな


Hirotoさんのコメント
試してみます。

Hirotoさんのコメント
すいません。 一回試して見たのですが、動作しませんでした。私には全くよく原因が分からないのでお願いします。

TransFreeBSDさんのコメント
一番始めに >|perl| #!/usr/bin/perl ||< $query→$qに変更が4ヶ所 >|perl| print $q->end_form; ||< の前に >|perl| print $q->submit; ||< 以上三点修正(それとURLを入れるのと)で動くと思う。

TransFreeBSDさんのコメント
ちなみにCGI.pm使うなら、何もしなくても普通に値を引き継ぎます。 >|perl| print $q->textfield(-name=>'n1', -default=>$query->param('n1')); ||< とかしなくても >|perl| print $q->textfield(-name=>'n1'); ||< でOK

うぃんどさんのコメント
変数名をごちゃまぜにしてしまいました ごめんなさい $q-> をすべて $query-> に直してください (逆に $query-> をすべて $q-> に直しても良いです)

Hirotoさんのコメント
ありがとうございます。 出力は無事出来たのですが、テキストボックスに入っている文字が変な記号になります。 半角記号と半角アルファベットだけは影響ありません。 つまり、ひらがな・カタカナ・漢字・全角アルファベット・全角記号が文字化けします。 対処法はありますか?

2 ● iwaim

その用途にはHTML::FillInFormが使われたりします。

http://search.cpan.org/~tjmather/HTML-FillInForm/

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ