大人になっても苦手な食べ物、ありますか?

CGI(Perl)内で必須項目のチェックを行うところで
書き方が分からず困っています。

フォームページHTMLファイルにラジオボタンで選択ボタンが2つとテキストエリアが3つあります。
ラジオボタンのnameは、携帯電話。
valueの1つ目は "1"、2つ目は ""(空白)。

テキストエリアの
1つ目のnameは、"携帯1"。2つ目のnameは、"携帯2"。3つ目のnameは、"携帯3"。

ラジオボタンのvalueが"1"の場合は、テキストエリア全てに項目が入っていないとエラーメッセージが出るチェックを作りたいのです。

説明が分かりづらいかもしれないのですが、お力をお貸しください。
宜しくお願いします。

A 回答 (2件)

milktea_ さん、



ということは、ひょっとして、確認画面の表示は以下のようなコードになっているのでしょうか。

* name を項目名としてそのまま使用
#================================================
print "$name : $in{$name}"
#================================================

もしそうであれば、以下のように書き換えてあげるのでは駄目ですか?
#================================================
print "携帯電話番号1 : $in{'celler1'}"
#================================================

どうしてもコードを書き換えたくないのであれば、name を「携帯電話番号1」のように元に戻してください。
とりあえず「携帯電話番号」には、文字化け等の問題を起こしそうな文字は含まれていないので。。。
    • good
    • 0
この回答へのお礼

ありがとうございました。
nameを英数字にして、確認画面の表示で日本語に書き換えてあげることにしました。

お礼日時:2001/11/30 17:39

CGI 内部で必須項目のチェックをするということですね。



日本語だと余計なトラブルを招くので name は、「携帯電話」を「celler」に置き換えています。

#=================================================

# フォームの値を $in{$name} = $value; と入れたと仮定します。

if($in{'celler'} eq "1" & ($in{'celler1'} eq "" | $in{'celler2'} eq "" | $in{'celler3'} eq "")){
# ここにエラーを出力する処理を記述
}

#=================================================

なんとなくハズしてる予感がしますがこういうことをお聞きになりたかったのでしょうか?

この回答への補足

ありがとうございます。
チェックをすることができました、感謝します。

ですが、入力を確認する画面をCGI内で作成しているのですが、
celler 090~ となってしまうので
cellerを携帯電話番号と置き換えないといけなくなりました。

変換するにはどうすればよろしいでしょうか?
お願いします。

補足日時:2001/11/29 15:59
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報