記事No | : 10621 |
投稿日 | : 2012/06/14(Thu) 20:26:25 |
タイトル | : 確認画面の編集 |
ID情報 | : nyorost |
投稿者 | : タカキ |
URL | : http://ju7bit.com/postmail/ |
postmailでメールフォームを作成しようと考えていて確認画面の編集方法を調べています。
テストで作成したメールフォームでは「市区町村〜番地」と「建物名〜号室」を入力した際に確認画面ではそれぞれ「addr」と「strt」に別々表示されるのですが。
「市区町村〜番地」と「建物名〜号室」を入力した際に確認画面で「addr」と「strt」がまとめて表示することはできるのでしょうか?
「市区町村〜番地」のnameの値は「addr」で「建物名〜号室」のnameの値は「strt」で設定しています。
テストで作成したメールフォーム:http://ju7bit.com/postmail/
記事No | : 10622 |
投稿日 | : 2012/06/15(Fri) 07:12:39 |
タイトル | : Re: 確認画面の編集 |
ID情報 | : Fuyuki |
投稿者 | : BAL |
URL | : http://www26.tok2.com/home/sumire1100/ |
> 「市区町村〜番地」と「建物名〜号室」を入力した際に確認画面で「addr」と「strt」がまとめて表示することはできるのでしょうか?
>
> 「市区町村〜番地」のnameの値は「addr」で「建物名〜号室」のnameの値は「strt」で設定しています。
これでいかがでしょうか
# データ受理
my ($key,$need,$in) = &parse_form;
$$in{addr}.= " $$in{strt}"; ## ★追加
# 禁止ワードチェック
#-----------------------------------------------------------
# プレビュー
#-----------------------------------------------------------
-- 省略 --
# 項目
my ($bef,$item);
foreach my $key (@$key) {
next if ($key eq "strt"); ## ★追加
next if ($bef eq $key);
記事No | : 10625 |
投稿日 | : 2012/06/15(Fri) 10:18:50 |
タイトル | : Re^2: 確認画面の編集 |
ID情報 | : nyorost |
投稿者 | : タカキ |
URL | : http://ju7bit.com/postmail/ |
BAL様
ありがとうございます!!
検証してみます!!
記事No | : 10630 |
投稿日 | : 2012/06/18(Mon) 12:15:17 |
タイトル | : Re^2: 確認画面の編集 |
ID情報 | : nyorost |
投稿者 | : タカキ |
URL | : http://ju7bit.com/postmail/ |
BAL様に教えて頂いた内容を追加したら思っていたどうりの編集ができました。
ありがとうございます。
もしよろしければ、3つの内容をまとめて表示するときの方法も教えて頂けないでしょうか。
下記サイトの電話番号を確認画面でまとめて表示したいと考えています。
http://ju7bit.com/postmail/
それぞれのnameの値は「tel_1」「tel_2」「tel_3」です。
何度も何度も質問して申し訳ありません。
記事No | : 10631 |
投稿日 | : 2012/06/18(Mon) 15:08:23 |
タイトル | : Re^3: 確認画面の編集 |
ID情報 | : Fuyuki |
投稿者 | : BAL |
URL | : http://www26.tok2.com/home/sumire1100/ |
> 下記サイトの電話番号を確認画面でまとめて表示したいと考えています。
> http://ju7bit.com/postmail/
> それぞれのnameの値は「tel_1」「tel_2」「tel_3」です。
>
> 何度も何度も質問して申し訳ありません。
住所を結合した時と同じ方法でできます。
挿入箇所は入力チェックの後に変更してください。
# E-mail書式チェック
if ($$in{email} =~ /\,/) {
&error("メールアドレスにコンマ ( , ) が含まれています");
}
if ($$in{email} ne '' && $$in{email} !~ /^[\w\.\-]+\@[\w\.\-]+\.[a-zA-Z]{2,}$/) {
&error("メールアドレスの書式が不正です");
}
$$in{addr} .= " $$in{strt}"; ## ★移動
$$in{tel_1} .= " - $$in{tel_2}"; ## ★追加
$$in{tel_1} .= " - $$in{tel_3}"; ## ★追加
# --- プレビュー
#-----------------------------------------------------------
# プレビュー
#-----------------------------------------------------------
-- 省略 --
# 項目
my ($bef,$item);
foreach my $key (@$key) {
next if ($key eq "strt"); ##
next if ($key eq "tel_2"); ## ★追加
next if ($key eq "tel_3"); ## ★追加
記事No | : 10632 |
投稿日 | : 2012/06/19(Tue) 16:55:02 |
タイトル | : Re^4: 確認画面の編集 |
ID情報 | : nyorost |
投稿者 | : タカキ |
URL | : http://ju7bit.com/postmail/ |
> > 下記サイトの電話番号を確認画面でまとめて表示したいと考えています。
> > http://ju7bit.com/postmail/
>
> > それぞれのnameの値は「tel_1」「tel_2」「tel_3」です。
> >
> > 何度も何度も質問して申し訳ありません。
>
>
> 住所を結合した時と同じ方法でできます。
> 挿入箇所は入力チェックの後に変更してください。
>
> # E-mail書式チェック
> if ($$in{email} =~ /\,/) {
> &error("メールアドレスにコンマ ( , ) が含まれています");
> }
> if ($$in{email} ne '' && $$in{email} !~ /^[\w\.\-]+\@[\w\.\-]+\.[a-zA-Z]{2,}$/) {
> &error("メールアドレスの書式が不正です");
> }
> $$in{addr} .= " $$in{strt}"; ## ★移動
> $$in{tel_1} .= " - $$in{tel_2}"; ## ★追加
> $$in{tel_1} .= " - $$in{tel_3}"; ## ★追加
> # --- プレビュー
>
>
> #-----------------------------------------------------------
> # プレビュー
> #-----------------------------------------------------------
> -- 省略 --
> # 項目
> my ($bef,$item);
> foreach my $key (@$key) {
> next if ($key eq "strt"); ##
> next if ($key eq "tel_2"); ## ★追加
> next if ($key eq "tel_3"); ## ★追加
BAL様
返信ありがとうございます!!
教えていただいたとおり修正をしてみたのですが
確認画面では結合されませんでした。
下記のように15日に教えて頂いた方法で修正したら変更できたんですが
特に問題ないでしょうか?
----修正内容-------------------------------------------
# データ受理
CGI::Minimal::max_read_size($cf{maxdata});
my $cgi = CGI::Minimal->new;
&error('容量オーバー') if ($cgi->truncated);
my ($key,$need,$in) = &parse_form;
$$in{addr} .= " $$in{strt}"; ## ★移動
$$in{tel_1} .= " - $$in{tel_2}"; ## ★追加
$$in{tel_1} .= " - $$in{tel_3}"; ## ★追加
もしよろしければこちらも教えていただきたいのですが。
確認画面で下記のように結合したデータと結合してないデータが表示されるのですが
結合していないデータを表示されないようにする方法は無いでしょうか。
[確認画面]
tel_1 | "tel_1の内容""tel_2の内容""tel_3の内容"
tel_2 | "tel_2の内容" ★ここの列を表示させない
tel_1 | "tel_2の内容"★ここの列を表示させない
もしよろしければご教示お願いいたします。
記事No | : 10636 |
投稿日 | : 2012/06/19(Tue) 19:00:02 |
タイトル | : Re^5: 確認画面の編集 |
ID情報 | : Fuyuki |
投稿者 | : BAL |
URL | : http://www26.tok2.com/home/sumire1100/ |
> 教えていただいたとおり修正をしてみたのですが
> 確認画面では結合されませんでした。
ちゃんと結合されます。
http://www26.tok2.com/home/sumire1100/postmail/postmail.html
> 下記のように15日に教えて頂いた方法で修正したら変更できたんですが
> 特に問題ないでしょうか?
>
> ----修正内容-------------------------------------------
> # データ受理
> CGI::Minimal::max_read_size($cf{maxdata});
> my $cgi = CGI::Minimal->new;
> &error('容量オーバー') if ($cgi->truncated);
> my ($key,$need,$in) = &parse_form;
> $$in{addr} .= " $$in{strt}"; ## ★移動
> $$in{tel_1} .= " - $$in{tel_2}"; ## ★追加
> $$in{tel_1} .= " - $$in{tel_3}"; ## ★追加
未入力項目があった時のエラー画面で不具合が発生します。
> もしよろしければこちらも教えていただきたいのですが。
> 確認画面で下記のように結合したデータと結合してないデータが表示されるのですが
> 結合していないデータを表示されないようにする方法は無いでしょうか。
>
> [確認画面]
> tel_1 | "tel_1の内容""tel_2の内容""tel_3の内容"
> tel_2 | "tel_2の内容" ★ここの列を表示させない
> tel_1 | "tel_2の内容"★ここの列を表示させない
以下を忘れていませんか。
# 項目
my ($bef,$item);
foreach my $key (@$key) {
next if ($key eq "strt"); ## ★追加
next if ($key eq "tel_2"); ## ★追加
next if ($key eq "tel_3"); ## ★追加
next if ($bef eq $key);
記事No | : 10642 |
投稿日 | : 2012/06/20(Wed) 20:43:47 |
タイトル | : Re^4: 確認画面の編集 |
ID情報 | : nyorost |
投稿者 | : タカキ |
URL | : http://ju7bit.com/postmail/ |
BAL様
わざわざ同じ環境で検証して頂いてありがとうございます。
もう一度確認したら必須項目を全部入力したら結合されましたが、未入力項目があった場合は結合されませんでした。
念の為にBAL様が準備された環境で確認したのですが結合されませんでした。
入力エラー表示の部分に下記のように修正を行ったのですが結合されませんでした。
#-----------------------------------------------------------
# 入力エラー表示
#-----------------------------------------------------------
--省略--
# 内容展開
my $bef;
foreach my $key (@$key) {
next if ($key eq "strt"); ## ★追加
next if ($key eq "tel_2"); ## ★追加
next if ($key eq "tel_3"); ## ★追加
なにかよい方法はありませんでしょうか。
あと、nameの値を日本語表記にすることは可能でしょうか。
もしよろしければご教示ください。
記事No | : 10643 |
投稿日 | : 2012/06/20(Wed) 21:24:39 |
タイトル | : Re^5: 確認画面の編集 |
ID情報 | : Fuyuki |
投稿者 | : BAL |
URL | : http://www26.tok2.com/home/sumire1100/ |
> 入力エラー表示の部分に下記のように修正を行ったのですが結合されませんでした。
> #-----------------------------------------------------------
> # 入力エラー表示
> #-----------------------------------------------------------
> --省略--
> # 内容展開
> my $bef;
> foreach my $key (@$key) {
> next if ($key eq "strt"); ## ★追加
> next if ($key eq "tel_2"); ## ★追加
> next if ($key eq "tel_3"); ## ★追加
>
> なにかよい方法はありませんでしょうか。
> あと、nameの値を日本語表記にすることは可能でしょうか。
>
> もしよろしければご教示ください。
エラー画面で電話番号を結合してしまうと電話番号を必須にした時に不具合が出ると思ったのですが、連結させるなら従来どおり入力チェックの前に変更してください。
# 入力内容マッチ
my ($match1,$match2);
if ($$in{match}) {
($match1,$match2) = split(/\s+/, $$in{match}, 2);
if ($$in{$match1} ne $$in{$match2}) {
&error("$match1と$match2の再入力内容が異なります");
}
}
$$in{addr} .= " $$in{strt}"; ## ★追加
$$in{tel_1} .= " - $$in{tel_2}"; ## ★追加
$$in{tel_1} .= " - $$in{tel_3}"; ## ★追加
# 入力チェック確認画面
>nameの値を日本語表記にすることは可能でしょうか。
可能です。
記事No | : 10648 |
投稿日 | : 2012/06/21(Thu) 12:17:29 |
タイトル | : Re^6: 確認画面の編集 |
ID情報 | : nyorost |
投稿者 | : タカキ |
URL | : http://ju7bit.com/postmail/ |
BAL様
結合されるようになりました!!
ありがとうございます。
結合するフォームのnemeの値を下記のように日本語表記にしたいのですが
addr => 住所
tel_1 => 携帯電話番号
その場合postmail.cgiの内容はどうのように変更したら良いでしょうか。
何度も質問してすみません。
記事No | : 10649 |
投稿日 | : 2012/06/21(Thu) 16:55:41 |
タイトル | : Re^7: 確認画面の編集 |
ID情報 | : Fuyuki |
投稿者 | : BAL |
URL | : http://www26.tok2.com/home/sumire1100/ |
> 結合するフォームのnemeの値を下記のように日本語表記にしたいのですが
> addr => 住所
> tel_1 => 携帯電話番号
>
> その場合postmail.cgiの内容はどうのように変更したら良いでしょうか。
postmail.cgiの変更は不要です。
init.cgiの設定のみです。
$cf{replace} = {
'name' => 'お名前',
'email' => 'メールアドレス',
'zip' => '郵便番号',
'pref' => '都道府県',
'addr' => '住所',
'tel_1' => '電話番号',
'text' => '問合せ内容',
};
このようになればOKです。
http://www26.tok2.com/home/sumire1100/postmail/postmail.html
記事No | : 10650 |
投稿日 | : 2012/06/21(Thu) 20:42:11 |
タイトル | : Re^8: 確認画面の編集 |
ID情報 | : nyorost |
投稿者 | : タカキ |
URL | : http://ju7bit.com/postmail/ |
BAL様
返信ありがとうございます。
おかげ様で下記のURLのページのとおり無事変更ができました。
http://ju7bit.com/postmail/
ありがとうございました!!