記事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 |
URL | : http://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 |
投稿者 | : マグカップ |
URL | : http://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;