プロが教えるわが家の防犯対策術!

ホームページ上で、必要事項(名前、メールアドレス、など)を入力してもらって、すべて入力されたら、別のページにあるファイルをダウンロードできるようにしたいです。

JAVAなど全く初心者な者で、すみません。
ダウンロードページに行って、ダウンロードクリックされたら、前画面のメアドと名前を管理者へ送信も同時にしたいです。
よろしくお願いします。

A 回答 (4件)

項目を移動するとき{TAB}キーは、スクリプトを書かないと有効じゃないんですか?


==>
それは、HTMLの記述(tabindex属性)だけでいけます。
<input type="text" tabindex="1">
<input type="text" tabindex="2">
みたいに

超初心者にはエラーのチェック方法もわかりません。
==>
エラーチェックというより、妥当なものかどうかを判定するのですが、
奥が深いです。javascriptでもやってもいんちきされる事があるので
サーバー側でも同じことやる必要がありますが。

名前等パターンの無いものは空白かどうか、長すぎないかどうかをチェックするぐらい。
メルアドとか日付、時間、電話番号、郵便番号みたいな文字列にパターンの
あるものは、正規表現というのを使って、パターンにマッチしてるかどうか
チェックします。(詳しくは自分で調べましょう)
住所の妥当性チェックや正規化は超超困難です。
普通は、県・市・番地・屋号 を別の項目にしちゃいます。
あと、全角・半角のチェックとか、英大文字・小文字のチェックとか
必用に応じて、これもたいていは、正規表現でチェックします。

変なスクリプトコードとかHTMLタグが埋め込まれないかは、サーバー側で
やります。サーバー側で容易にエスケープできます。
    • good
    • 0
この回答へのお礼

大変ありがとうございました、いくつか試行錯誤で試してみます。
しかしscriptは奥が深そうですね。

お礼日時:2010/05/21 05:58

老婆心


ホームページにさらす事になる管理者のメールアドレスは、決して
大切な本当のアドレスにしないようにしましょう。捨ててもいい
メルアドを取得してそれを使うほうがよいでしょう。
    • good
    • 0

No.1補足


formのaction="mailto:~"を使う時、formにenctype属性を付けると
文字化けしないという”うわさ”があります。
<form action="mailto:hogehoge@fuga.net" method="post" enctype="text/plain charset="Shift_JIS">とか
<form action="mailto:hogehoge@fuga.net" method="post" enctype="multipart/form-data">
みたいに...ほんとかね
    • good
    • 0

まじめに作りたいなら、サーバー側で動くプログラム(CGI/perl等、PHP、JAVA...)


のページを作って、HTMLからはフォームで入力した項目をそのページ宛てにPOSTで
サブミットし、サーバー側でバリデーションチェック(変な値が入ってないかの検査)
してOKなら、SMTPで管理者にsendmailし、ダウンロードページを出力すると、いった
流れになります。
初心者がお遊びで練習するなら、
formのaction="mailto:~"を使ってクライアントのメーラーから送信させて
みては、javascriptと組み合わせて超簡単(=ほとんど手抜き)な見本を書くと
<body>
<form action="mailto:管理者のメールアドレス" method="post">
<input type="hidden" name="subject" value="ダウンロードメール"></p>
<p>名前:<input type="text" name="namae"></p>
<p>メルアド:<input type="text" name="email"></p>
<p>備考<br><textarea name="other" rows="10" cols="40"></textarea></p>
<p><input type="button" value="送信" onclick="send(this.form);">
</form>
<script type="text/javascript">
<!--
function send(form){
if(form.name!="" && form.email!=""){
form.submit();
location.href="about:blank";
}else{alert("入力項目に不倫があります");}
}
// -->
</script>
// -->
</script>
</body>

この回答への補足

ありがとうございます。たしかにメアドを直接開示は方法を変えますが、超初心者にはエラーのチェック方法もわかりません。
また、項目を移動するとき{TAB}キーは、スクリプトを書かないと有効じゃないんですか?
ほんとに 何から何まで すみません。

補足日時:2010/05/20 16:26
    • good
    • 0

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