現在perlを使ってCGIに挑戦しています。
アンケート用紙のようなフォームを作りそこに
文字を入力してもうらうプログラムを作成しています。
そこで質問なのですが、アンケート用紙のような物に文字を入力してもらってオーケーボタン
を押した時に、必ず入力してもらいたい所の入力漏れ注意や数字を入れてもらう所をかな入力で入れている人に注意をうながすようなサンプルを探していますがなかなか見つかりません。
どうかそのような本、ホームページ等、又それに関する資料等ありましたらどうかおしえていただけませんでしょうか?
どうかよろしくお願いします。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
deiaっす。
とりあえずは下記のようなものでいかがでしょう?
項目は名前とメールアドレスだけなのでお好みに合わせていじくりまくりましょう。(^_^)!!
あとform actionの指定忘れずに。
それではがんばってください。
<html>
<head>
<title>フォーム</title>
<SCRIPT LANGUAGE="JavaScript">
<!---
function Check(){
if (document.forma.name.value==""){
window.alert("名前が記入されていません。");
return false
}
if (document.forma.mail.value==""){
window.alert("メールアドレスを入力してください。");
return false ;
}
else if(document.forma.mail.value.indexOf("@",0)<=0){
window.alert("メールアドレスが間違っています。");
return false;}
return confirm("以下の内容で送信します。 \n\n名前:"+document.forma.name.value+"\nメールアドレス:"+document.forma.name.value+"\n\nよろしいですか?");
return true;}
//--->
</SCRIPT>
</head>
<body>
<form name="forma" method="post" action="" onSubmit="return Check()">
名前:<input type="text" size="40" name="name"><br>
メールアドレス:<input type="text" size="40" name="mail"><br>
<input type="submit" value="送る">
<input type ="reset" value="リセット">
</form>
</body>
</html>
No.3
- 回答日時:
再びdeiaです。
>本の情報ですが、ジャバを使うとエラーメッセージが出せるもののそれを無視して通過する事ができると書いてあったのでCGIで作るしかないのかなと思ったのです。
どの本の情報か知りませんが、JavaScriptでもエラーメッセージを無視して通過するなどと言うことは全く無いと思います。(作り方にもよるかもしれないけど、そんな変な作り方する人いないと思うし。)
何かあればまた補足に追加してください。では!!!
それであればジャバで作ったほうが良いと思います。
deiaさんがお勧めするジャバソースをしていましたらおしえていただけませんでしょうか?
どうぞよろしくお願い致します。
No.2
- 回答日時:
JavaScriptの方が簡単ですが、Perlでということであれば以下の方法でどうでしょうか。
まずHTML側ですが、
フォームの入力部分は
<INPUT TYPE="text" NAME="お名前">
<INPUT TYPE="text" NAME="電話番号">
<INPUT TYPE="text" NAME="住所">
といった感じで記述されているとします。
入力必須にしたい項目を
<INPUT TYPE="hidden" NAME="required" VALUE="お名前:住所">
のようにTYPE="hidden"、NAME="required"、VALUE="必須にしたい項目名:必須にしたい項目名(…以下同じ)"
としてあげます。
次にPerlですが、
おそらく読み取ったデータを配列にセットされていると思いますので上記hiddenで渡されたNAME="required"の部分を@requiredにセットする別処理を加えてあげます。
@pairs = split(/&/,$buffer);
foreach $pair (@pairs) {
($name,$value) = split(/=/,$pair);
if ($name eq "required") { @required = split(/:/,$value); }
else { push(@data_name,$name); push(@data_value,$value); }
}
なお、上の処理は日本語等の処理の部分は省いてあります。
その下で以下のようにチェック処理をしてあげればOKです。
$count = @data_name;
foreach $required (@required) {
foreach (0..$count-1) {
if ($data_name[($_)] eq $required && $data_value[($_)] eq "") { ※エラー時の処理;}
}
}
あまりスマートなやり方ではありませんが、一応動きます。
参考になれば幸いです。
No.1
- 回答日時:
CGIじゃなくてもJavascriptを使った方が手軽で簡単に出来ると思います。
がperlでという事なので定番のこちらのサイトで自分なりに勉強してみては・・・。
正規表現などが理解できていれば、perlでも簡単に出来ると思います。
ではがんばってください。
参考URL:http://tohoho.wakusei.ne.jp/www.htm
回答頂き本当に助かります。
本の情報ですが、ジャバを使うとエラーメッセージが出せるもののそれを無視して通過する事ができると書いてあったのでCGIで作るしかないのかなと思ったのです。
そこらへんは作り方によって大丈夫になるのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C++/CLIのオブジェクト型配列
-
printfの%eで指数部分の桁数を...
-
2バイトの文字データの送信
-
stable diffusionのエラー
-
C#でのswitch文
-
ポインター引数の関数でコンパ...
-
エクセルVBA:日付データの変換...
-
C言語 2分木探索について質問です
-
c言語 Bitについて
-
pythonでDBのカラム名で取得し...
-
エクセルシート名の制限を変更...
-
UTF-8で5~6バイトになる文字コ...
-
10Mバイトて文字数に すると何...
-
Excel 1セル当りの文字数が2...
-
CD R の書き込み
-
Excel VBA メール作成について ...
-
DataGridViewの特定列に入力さ...
-
DOSのdirコマンドで思うように...
-
COBOLのCOMP形式について
-
連想するもの教えてください
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ポインター引数の関数でコンパ...
-
stable diffusionのエラー
-
printfの%eで指数部分の桁数を...
-
エクセルVBA:日付データの変換...
-
int型(2バイト)データの分割
-
【Excel VBA】10進数を2進数に...
-
C#でのswitch文
-
C言語についてです! 同じ年の...
-
pythonでDBのカラム名で取得し...
-
PINVOKEで構造体配列をマーシャ...
-
MySQLに登録すると文字化け
-
C言語 ファイル内のデータと入...
-
CreateProcessでの環境変数の設...
-
'dataType' 引数を Null にする...
-
linuxのシェルでファイル名に先...
-
Cのプログラムがどうしても動き...
-
POSTで配列のデータを渡す方法は?
-
マクロ登録したピボットが重い...
-
gnuplotの出力グラフ名を外部で...
-
離散フーリエ変換のプログラム...
おすすめ情報