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


記事No: 15585
投稿日: 2017/08/23(Wed) 13:19:01
タイトルPost Mail送信確認画面の表示について
ID情報: matuda
投稿者: いさお
URLhttps://www.yahoo.co.jp/

生年月日をプルダウンで入力するようにすると、次の確認画面で「年」「月」「日」と行が分かれて表示されます。
これを1行で「年月日」として表示することは可能でしょうか?

↓サイトをまだ公開していないので、キャプチャを付けています↓
https://gyazo.com/f3f9636591a7d24bce8041035bad666b

1項目、1行になってしまい、メールフォームの入力項目が多いと確認画面も受信メールの内容も分かりにくくなってしまいます。

なにか良い方法はないでしょうか。


記事No: 15586
投稿日: 2017/08/24(Thu) 12:35:23
タイトルRe: Post Mail送信確認画面の表示について
ID情報: hirayama
投稿者: hirayama
URLhttp://shade-search.com/sts/term/term.php

せめて入力フォームの内容ぐらいは書かれていないと答えようがないですが、
仮に以下のようなフォームだった場合

生年月日<input type="text" name="生年" value="">年<input type="text" name="生月" value="">月<input type="text" name="生日" value="">日

postmail.cgiの

# 入力チェック確認画面
if ($check) { err_input($match2); }

の前あたりに

if ($$in{'生年'} && $$in{'生月'} && $$in{'生日'}) {
$$in{'生年月日'} = $$in{'生年'} . '年' . $$in{'生月'} . '月' . $$in{'生日'} . '日';
undef $$in{'生年'};
undef $$in{'生月'};
undef $$in{'生日'};
@$key = grep $_ ne "生年", @$key;
@$key = grep $_ ne "生月", @$key;
@$key = grep $_ ne "生日", @$key;
push(@$key,'生年月日');
}

を追加するとか。
誕生日の「年」「月」「日」それぞれ別のキーで保存されているハッシュの内容を
「生年月日」というキーのハッシュにまとめるという処理です。


記事No: 15600
投稿日: 2017/08/26(Sat) 23:55:20
タイトルRe^2: Post Mail送信確認画面の表示について
ID情報: matuda
投稿者: いさお
URLhttps://www.yahoo.co.jp/

> せめて入力フォームの内容ぐらいは書かれていないと答えようがないですが、
> 仮に以下のようなフォームだった場合
>
> 生年月日<input type="text" name="生年" value="">年<input type="text" name="生月" value="">月<input type="text" name="生日" value="">日
>
> postmail.cgiの
>
> # 入力チェック確認画面
> if ($check) { err_input($match2); }
>
> の前あたりに
>
> if ($$in{'生年'} && $$in{'生月'} && $$in{'生日'}) {
> $$in{'生年月日'} = $$in{'生年'} . '年' . $$in{'生月'} . '月' . $$in{'生日'} . '日';
> undef $$in{'生年'};
> undef $$in{'生月'};
> undef $$in{'生日'};
> @$key = grep $_ ne "生年", @$key;
> @$key = grep $_ ne "生月", @$key;
> @$key = grep $_ ne "生日", @$key;
> push(@$key,'生年月日');
> }
>
> を追加するとか。
> 誕生日の「年」「月」「日」それぞれ別のキーで保存されているハッシュの内容を
> 「生年月日」というキーのハッシュにまとめるという処理です。


記事No: 15601
投稿日: 2017/08/27(Sun) 00:10:03
タイトルRe^2: Post Mail送信確認画面の表示について
ID情報: matuda
投稿者: いさお
URLhttps://www.yahoo.co.jp/

hirayama様
返信ありがとうございます!

># 入力チェック確認画面
>if ($check) { err_input($match2); }
>の前あたりに

やってみたのですが、うまく表示できませんでした。
もしかすると、私があまりにも無知なのでご指示通りにできていないのかもしれません。

HP作成途中ですので、サーバーにアップしていませんでしたが、見て頂けるのでしたらと思い、先ほどアップしました。

http://lavinne.com/001/mail/mail

項目を入力しなくても良いのですが、「送信する」を押していただければと思います。

確認画面で「生年月日」や鑑定希望日の「第一希望」「第二希望」・・・が、それぞれ「年」「月」「日」で分かれて表示されてしまいます。

クライアントにとっても、また私の方で送信された内容をメールで受信したときも項目が分かれすぎて分かり辛いと思います。

確認画面もメール受信内容も

 ●年●月●日

というふうに表示できればありがたいのですが。。。
ご教示頂ければ幸いです。
よろしくお願い致します。


記事No: 15602
投稿日: 2017/08/27(Sun) 01:14:07
タイトルRe^3: Post Mail送信確認画面の表示について
ID情報: hirayama
投稿者: hirayama
URLhttp://shade-search.com/sts/term/term.php

http://lavinne.com/001/mail/mail

このフォームだと、postmail.cgi に追加するのは

foreach ('生年月日','生年月日お相手') {
if ($$in{$_ . ':年'} && $$in{$_ . ':月'} && $$in{$_ . ':日'}) {
$$in{$_ } = $$in{$_ . ':年'} . '年' . $$in{$_ . ':月'} . '月' . $$in{$_ . ':日'} . '日';
undef $$in{$_ . ':年'};
undef $$in{$_ . ':月'};
undef $$in{$_ . ':日'};
@$key = grep $_ ne $_ . ':年', @$key;
@$key = grep $_ ne $_ . ':月', @$key;
@$key = grep $_ ne $_ . ':日', @$key;
push(@$key,$_);
}
}

foreach ('第一希望','第二希望','第三希望') {
if ($$in{$_ . ':月'} && $$in{$_ . ':日'} && $$in{$_ . ':時'} && $$in{$_ . ':分'}) {
$$in{$_ } = $$in{$_ . ':月'} . '月' . $$in{$_ . ':日'} . '日' . $$in{$_ . ':時'} . '時' . $$in{$_ . ':分'} . '分';
undef $$in{$_ . ':月'};
undef $$in{$_ . ':日'};
undef $$in{$_ . ':時'};
undef $$in{$_ . ':分'};
@$key = grep $_ ne $_ . ':月', @$key;
@$key = grep $_ ne $_ . ':日', @$key;
@$key = grep $_ ne $_ . ':時', @$key;
@$key = grep $_ ne $_ . ':分', @$key;
push(@$key,$_);
}
}

となると思います。これを

# 入力チェック確認画面
if ($check) { err_input($match2); }

の前辺りに追加すればいいと思います。

表示順を指定したいなら、index.htmlのhiddenタグを

<input type="hidden" name="sort" value="name email 生年月日 生年月日お相手 第一希望 第ニ希望 第三希望">

のように変更すればいいでしょう。


記事No: 15603
投稿日: 2017/08/27(Sun) 10:31:01
タイトルRe^4: Post Mail送信確認画面の表示について
ID情報: matuda
投稿者: いさお
URLhttps://www.yahoo.co.jp/

hirayama様

ありがとうございます!
希望する形で表示が追加されました!

ただ、以前の表示が残ったままになってしまうのですが、
何か手を加える必要があるのでしょうか?

例えば生年月日の表示は希望通り

 生年月日

と追加されたのですが、以前の表示の

 生
 年
 月
 日

というような、一項目ずつの表示が残ったままでダブってしまいます。


記事No: 15604
投稿日: 2017/08/27(Sun) 18:46:55
タイトルRe^5: Post Mail送信確認画面の表示について
ID情報: hirayama
投稿者: hirayama
URLhttp://shade-search.com/sts/term/term.php

バラバラのキーは削除したつもりだったのですが、削除できていなかったようですね。それでは上記の追加部分を

foreach ('生年月日','生年月日お相手') {
if ($$in{$_ . ':年'} && $$in{$_ . ':月'} && $$in{$_ . ':日'}) {
$$in{$_ } = $$in{$_ . ':年'} . '年' . $$in{$_ . ':月'} . '月' . $$in{$_ . ':日'} . '日';
undef $$in{$_ . ':年'};
undef $$in{$_ . ':月'};
undef $$in{$_ . ':日'};
push(@$key,$_);
}
}
foreach ('第一希望','第二希望','第三希望') {
if ($$in{$_ . ':月'} && $$in{$_ . ':日'} && $$in{$_ . ':時'} && $$in{$_ . ':分'}) {
$$in{$_ } = $$in{$_ . ':月'} . '月' . $$in{$_ . ':日'} . '日' . $$in{$_ . ':時'} . '時' . $$in{$_ . ':分'} . '分';
undef $$in{$_ . ':月'};
undef $$in{$_ . ':日'};
undef $$in{$_ . ':時'};
undef $$in{$_ . ':分'};
push(@$key,$_);
}
}
my @tmp = ();
foreach (@$key) { if (!/:/) { push(@tmp,$_); } }
@$key =@tmp;

のように変えてみてください。


記事No: 15606
投稿日: 2017/08/27(Sun) 21:25:10
タイトルRe^6: Post Mail送信確認画面の表示について
ID情報: matuda
投稿者: いさお
URLhttps://www.yahoo.co.jp/

hirayama様

迅速、かつご丁寧に対応いただきありがとうございます!
ご指示の通りに修正したら希望していた表示になりました!

感謝です!!!

CGIとかチンプンカンプンですが、扱えるようになると楽しそうですね。
ありがとうございました!!


[検索ページ]