CGI-BBS > 情報収集 > フォームメール > 必須項目のエラー表示をフォーム入力順にしたい


カレッヂ
カレッヂ


質問者 苦戦中  投稿日 2006/4/19(水) 14:50:11
色々試してみてるのですが、教えてください。

例えば
<input type=hidden name="_indispen" value="名前">
<input type=hidden name="_indispen" value="住所">
<input type=hidden name="_indispen" value="電話">
<input type=hidden name="_indispen" value="内容">
と、必須項目に設定した場合に未入力のエラー表示が
-----------------------
未入力項目があります。
次の項目は必須項目です。

内容 住所 電話 名前
-----------------------
と表示されるのを

HTMLフォーム順に
-----------------------
未入力項目があります。
次の項目は必須項目です。

名前 住所 電話 内容
-----------------------
としたいのですが、可能ですか?

CGIに直接項目チェックを入れれば良いのですが、
同サイト内のフォーム共通で使いたいため悩んでおります。

どうかご教授ください。

【習熟度】多少の改造ができる

回答者 rescue  [削除]  投稿日 2006/5/12(金) 12:02:18
これは確かに正しい判断だと思います。
バグではありませんが、採用したいと思い、設計&テストをしました。

while (($key,$val) = each %in) {

	if ($indispen{$key} && $val eq '') { push(@INDISPENs,$key); }
}

↓

foreach $in (@in) {

	($name) = $in =~ /\bname="([^"]+)"/i;
	($name) = $in =~ /\bname=([^\s:;]+)/i unless defined $name;

	if ($indispen{$name} && $in{$name} eq '') { push(@INDISPENs,$name); }
}

----
サポート掲示板利用ご案内の通り、当方はバグと思われる事象以外には参加しません。
ただ、時間が許す場合に例外的に回答する場合がありますが、継続的にやりとりが
出来ない場合があります。ご理解ください。
質問者 苦戦中  [削除]  投稿日 2006/5/12(金) 12:09:22
レスキュー様
わざわざありがとうございます。
早速試してみます。
ありがとうございました。

このページは終了したので返信(回答)は書きこめません
 


Web裏技