• ベストアンサー

ホームページ上で、必要事項(名前、メールアドレス、など)を入力してもら

ホームページ上で、必要事項(名前、メールアドレス、など)を入力してもらって、すべて入力されたら、別のページにあるファイルをダウンロードできるようにしたいです。 JAVAなど全く初心者な者で、すみません。 ダウンロードページに行って、ダウンロードクリックされたら、前画面のメアドと名前を管理者へ送信も同時にしたいです。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.4

項目を移動するとき{TAB}キーは、スクリプトを書かないと有効じゃないんですか? ==> それは、HTMLの記述(tabindex属性)だけでいけます。 <input type="text" tabindex="1"> <input type="text" tabindex="2"> みたいに 超初心者にはエラーのチェック方法もわかりません。 ==> エラーチェックというより、妥当なものかどうかを判定するのですが、 奥が深いです。javascriptでもやってもいんちきされる事があるので サーバー側でも同じことやる必要がありますが。 名前等パターンの無いものは空白かどうか、長すぎないかどうかをチェックするぐらい。 メルアドとか日付、時間、電話番号、郵便番号みたいな文字列にパターンの あるものは、正規表現というのを使って、パターンにマッチしてるかどうか チェックします。(詳しくは自分で調べましょう) 住所の妥当性チェックや正規化は超超困難です。 普通は、県・市・番地・屋号 を別の項目にしちゃいます。 あと、全角・半角のチェックとか、英大文字・小文字のチェックとか 必用に応じて、これもたいていは、正規表現でチェックします。 変なスクリプトコードとかHTMLタグが埋め込まれないかは、サーバー側で やります。サーバー側で容易にエスケープできます。

masarun53406
質問者

お礼

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

その他の回答 (3)

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.3

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

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.2

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"> みたいに...ほんとかね

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

まじめに作りたいなら、サーバー側で動くプログラム(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>

masarun53406
質問者

補足

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