記事No | : 4526 |
投稿日 | : 2008/09/20(Sat) 08:49:23 |
タイトル | : POSTMAIL 条件付き必須項目 |
ID情報 | : kawaiiki |
投稿者 | : geshi |
URL | : http://www.k-gpn.org/kaimonodeeco/sengen.html |
POSTMAILを使わせて頂いております。景品を希望する方のみ、住所などの項目を必須にしたいのですが、方法をご存じの方がいらっしゃればご教示願いたく存じます。
景品を希望する、しないをラジオボタンで選択してもらい、「希望する」を選択した場合のみ、必須項目チェックをする、というのが理想です。
よろしくお願い致します。
記事No | : 4527 |
投稿日 | : 2008/09/20(Sat) 21:38:09 |
タイトル | : Re: POSTMAIL 条件付き必須項目 |
ID情報 | : fuyuki |
投稿者 | : BAL |
URL | : http://f43.aaa.livedoor.jp/~sumure/ |
> POSTMAILを使わせて頂いております。景品を希望する方のみ、住所などの項目を必須にしたいのですが、方法をご存じの方がいらっしゃればご教示願いたく存じます。
> 景品を希望する、しないをラジオボタンで選択してもらい、「希望する」を選択した場合のみ、必須項目チェックをする、というのが理想です。
> よろしくお願い致します。
以下の追加修正を行ってください。
●フォームに追加
<input type="hidden" name="need" value="name TEL 郵便番号 住所" />
<input type="radio" name="景品" value="希望" />希望
<input type="radio" name="景品" value="不要" />不要
●postmail.cgi
# ホスト取得&チェック
&get_host;
# 必須入力チェック
if ($in{'need'} && $in{'景品'} eq "希望") { ## ★修正
local(@tmp, @uniq, %seen);
# needフィールドの値を必須配列に加える
@tmp = split(/\s+/, $in{'need'});
push(@need,@tmp);
質問とは無関係ですが
E-mailの入力内容が同一かをチェックする為に以下のコマンドを記述した場合はE-mailのname値はそれぞれemail email2にしてください。
<input type="hidden" name="match" value="email email2" />
記事No | : 4531 |
投稿日 | : 2008/09/22(Mon) 17:00:20 |
タイトル | : ありがとうございました |
ID情報 | : kawaiiki |
投稿者 | : geshi |
URL | : http://www.k-gpn.org/kaimonodeeco/sengen.html |
早々にお教え頂きましてありがとうございます。
このようにお返事が遅くなってしまい、大変申し訳ございませんでした。
今回は別の担当の方が、問題のページを書き換えて下さって、解決することができました。
しかしBAL様に教えて頂き大変勉強になりました。
ありがとうございました。
記事No | : 4532 |
投稿日 | : 2008/09/22(Mon) 19:50:02 |
タイトル | : Re: ありがとうございました |
ID情報 | : fuyuki |
投稿者 | : BAL |
URL | : http://f43.aaa.livedoor.jp/~sumure/ |
> 早々にお教え頂きましてありがとうございます。
> このようにお返事が遅くなってしまい、大変申し訳ございませんでした。
> 今回は別の担当の方が、問題のページを書き換えて下さって、解決することができました。
>
> しかしBAL様に教えて頂き大変勉強になりました。
> ありがとうございました。
「ありがとうございました」は良いんですが、回答した直後に他所のスクリプトに変更するのであれば「こういう理由で他所のスクリプトに変更しました」の一言があってもよいのではないですか。
参照先が他所のスクリプトであるにもかかわらず回答したと思われかねないですから。
当初、通常の必須項目とチェックボックスをチェックした時の必須項目とに分けて処理していたのですが修正箇所が多くなるので質問者の希望通りの簡単な方法を提示した次第です。