記事No | : 14125 |
投稿日 | : 2015/07/25(Sat) 22:09:31 |
タイトル | : ラジオボタンを選択したときだけ特定のフィールドを必須化したい |
ID情報 | : clipkid |
投稿者 | : tapkit |
URL | : http://yahoo.com |
URLを省略しててすいません。実際のものを示していないのでごちゃごちゃ書いています。(聞き方が悪いかもしれません。回答がつかなかかったら(削除可能であれば)後で削除しておきます)
ど素人です。たとえば、postmailがperlなのかどうか聞かれても即答できずネットで調べようとするくらいperlという単語となんか難しそう以外は何も知りません。時間がなくて勉強していられないですがこれを導入したいです。
↓ここを見つけて、自分なりに試行錯誤してみたのですが、
http://www.kent-web.com/support/oldlog/0003/0029.html
ダメだったので(はじめて)質問させていただきます。
Postmailを一応基本的な動作には問題なく設定することができました。そこまでの状況は単純化すると次のような感じです。
[項目A]テキストフィールド1(必須)
[項目B]テキストフィールド2(必須)
[項目C](ボタン1)(ボタン2)(必須)
[項目F]テキストエリア(任意)
▼postmail.htmlから抜粋するとこんな感じです。
<form action="./postmail.cgi" method="post">
<input type="hidden" name="need" value="テキストフィールド1 テキストフィールド2 項目C" />
▼postmail.cgiの中身は手を加えていない状態です。
そこから、ほんの少し欲を出して、項目D(ボタン3,4)と項目E(テキストフィールド)を追加し、ボタン4が選択されているときだけ、項目Eのテキストフィールドを必須項目化したいと考えました。
[項目A]テキストフィールド1(必須)
[項目B]テキストフィールド2(必須)
[項目C](ボタン1)(ボタン2)(必須)
[項目D](ボタン3)(ボタン4)(必須)←コレ
[項目E]テキストフィールド3(ボタン4選択時だけ必須)←コレ
[項目F]テキストエリア(任意)
▼考えたこと
○上の過去ログの回答から、何となく<input type="hidden" name="need" value="テキストフィールド1 テキストフィールド2 項目C" />のラインにifによって項目Eが入ればいい?でもその書き方がわからない。
needフィールドとは<input type="hidden" name="need" value="テキストフィールド1 テキストフィールド2 項目C" />の部分のことをいうのだろうか。条件を満たして項目Eが必須化されるときは<input type="hidden" name="need" value="テキストフィールド1 テキストフィールド2 項目C 項目D 項目E" />のようなことになれば良いけれども、条件が満たされないときのもともとあったその部分との関係がわからない。name="need"のneedというワードは、name="項目E"のようなものとは性質が違う特別なものなのだろうか。needはpostmail.cgiのifのところでも出てくるから紐がついているということか。htmlのneedフィールド(hidden)?の条件を満たさない場合と満たした場合をhtml側とcgi側でそれぞれどう書けば良いのか。
○postmail.htmlの項目Dをとりあえず次のようにはした
<input type="radio" name="項目D" value="ボタン3" />ボタン3<br />
<input type="radio" name="項目D" value="ボタン4" />ボタン4<br />
○postmail.cgiの#必須入力チェックのifのブロックの下に、上の過去ログの回答から推測してもう1個次のように書き加えれば良いのか、それとも、もともとある該当箇所に入れ子のようにすれば良いのか、または差し替えるようにするのか。これは、項目Eがボタン4のとき・・・ということだろうか。needというのは単なる任意のname値なのか?
//
# 必須入力チェック
if ($in{'need'} && $in{'項目E'} eq "ボタン4") {
local(@tmp, @uniq, %seen);
//
☆ やりたいことと上の単純化した例から、postmailのカスタマイズが余裕で出来る方ならこの例でサンプルコードをペーストしてくれるのではないかとわずかな期待を持っています(笑)。嫌味とか説教は求めてません。読んでくれてありがとうございます(@^^)/~~~