KENT-WEB サポートコーナー 過去ログ [ 0294 ]


記事No: 10298
投稿日: 2012/03/28(Wed) 17:10:11
タイトルPostmail v6.12 未入力項目を非表示にする方法
ID情報: techtech
投稿者: マグカップ
URL

お世話になっております、マグカップと申します。

KENTさんのPostMail Ver: 6.12 (UTF-Version)を使わせて頂き、簡単な注文フォームの作成を検討しております。

現状、DLしてきたpostmail.htmlに手を加えただけなのですが、
入力必須でない項目(たとえば問合せ内容など)に入力がない場合は、
次の確認画面では非表示にしておきたいと思います。

過去ログで同じような質問をされている方もいらっしゃいましたが、

http://www.kent-web.com/support/search/namazu.cgi?key=postmail+%C8%F3%C9%BD%BC%A8&submit=+%B8%A1%BA%F7+&whence=0&max=20&result=normal&sort=score

Ver: 6.12での設定が不明なため、質問させて頂きました。

CGI初心者につき、ご教授頂けると幸いです。よろしくお願いいたします。


記事No: 10300
投稿日: 2012/03/28(Wed) 21:47:34
タイトルRe: Postmail v6.12 未入力項目を非表示にする方法
ID情報: Fuyuki
投稿者: BAL
URLhttp://www26.tok2.com/home/sumire1100/

> 入力必須でない項目(たとえば問合せ内容など)に入力がない場合は、
> 次の確認画面では非表示にしておきたいと思います。


以下でどうでしょうか。

#-----------------------------------------------------------
# プレビュー
#-----------------------------------------------------------
-- 省略 --


# 引数
$hidden .= qq|<input type="hidden" name="$key" value="$$in{$key}" />\n| if($$in{$key}); ## ★修正

# 改行変換
$$in{$key} =~ s|\t|<br />|g;

my $tmp = $loop;
if (defined($cf{replace}->{$key})) {
$tmp =~ s/!key!/$cf{replace}->{$key}/;
} else {
$tmp =~ s/!key!/$key/;
}
$tmp =~ s/!val!/$$in{$key}/;
if(!$$in{$key}) {$tmp='';} ## ★追加
$item .= $tmp;


記事No: 10301
投稿日: 2012/03/29(Thu) 10:05:42
タイトルRe^2: Postmail v6.12 未入力項目を非表示にする方法
ID情報: techtech
投稿者: マグカップ
URLhttp://sv111.wadax.ne.jp/~teweb-co-jp/titimail2/postmail.html

BAL様、早速のご回答ありがとうございました!
教えていただいたコードに書き換えてみたところ、
希望通りの動作になりました!

最初は何も入力せずに送信して未入力項目が表示されてしまい、
うまく動かないな…?と思っていたのですが、
必須項目を全て埋めてから送信したらうまくいきました。

大満足です!
今後は自分ももっと勉強します。ありがとうございました!


>以下でどうでしょうか。
> #-----------------------------------------------------------
> # プレビュー
> #-----------------------------------------------------------
> -- 省略 --
>
>
> # 引数
> $hidden .= qq|<input type="hidden" name="$key" value="$$in{$key}" />\n| if($$in{$key}); ## ★修正
>
> # 改行変換
> $$in{$key} =~ s|\t|<br />|g;
>
> my $tmp = $loop;
> if (defined($cf{replace}->{$key})) {
> $tmp =~ s/!key!/$cf{replace}->{$key}/;
> } else {
> $tmp =~ s/!key!/$key/;
> }
> $tmp =~ s/!val!/$$in{$key}/;
> if(!$$in{$key}) {$tmp='';} ## ★追加
> $item .= $tmp;


[検索ページ] [掲示板]