• ベストアンサー
  • 困ってます

メールフォームについて

(1) JavaScriptを使ってプルダウンの項目の選択を必修にしたいんですが。どのように記述すれば良いのでしょうか? (2) JavaScriptを使ってメールフォームを作った時、HTMLファイル内に自分のメールアドレス記述せず、JavaScriptのファイル内に記述して作る事は無理でしょうか? (3) JavaScriptを使ってメールフォームを作った時、HTMLファイル内にJavaScriptを呼び出すタグは<head>~</head>内に<script language="Javascript" src="form.js"></script>の様な記述でよろしかったでしょうか? 以上の3点の答えをお願い致します。 過去ログは一応検索しましたが自分の求めてる物を見つける事ができませんでした。

共感・応援の気持ちを伝えよう!

  • 回答数3
  • 閲覧数70
  • ありがとう数5

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

  • ベストアンサー
  • 回答No.3
  • yambejp
  • ベストアンサー率51% (3827/7415)

状況がよくわかんないですけど私の環境ではこれなら動きますが・・・ //hoge.htm <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="ja"> <head> <title>メールフォーム</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <link rel=stylesheet type="text/css" href="mailform.css"> <script type="text/Javascript" src="form.js"></script> </head> <body padding:5px,5px,5px,5px style="filter:Alpha(opacity=90)"> <table border="0" cellpadding="5" cellspacing="0" width="350" height="45%" style="filter:Alpha(opacity=70)"> <tr> <td> <form action="" method="post" enctype="text/plain" name="form" onSubmit="return validate(this)"> <input type=hidden name="browserName"> <input type=hidden name="browserVersion">  <table border="0"> <tr><td>お 名 前</td></tr> <tr><td> <input name="name" size="20"> </td></tr> <tr><td>年齢</td></tr> <tr><td> <select name="old" title="年齢" size="1" tabindex="0"> <option value="未選択" selected>選択してください</option> <option value="10歳未満">10歳未満</option> <option value="10歳~19歳">10歳~19歳</option> <option value="20歳~29歳">20歳~29歳</option> <option value="30歳~39歳">30歳~39歳</option> <option value="40歳~">40歳~</option> </select> </td></tr> <tr><td>性別</td></tr> <tr><td> 男<input type=radio name="sex" value="男" checked> 女<input type=radio name="sex" value="女"> </td></tr> <tr><td>お住い</td></tr> <tr><td> <select name="address" title="お住まい" size="1" tabindex="0"> <OPTION value="未選択" selected>都道府県</OPTION> <OPTION value=1>北海道</OPTION> <OPTION value=2>青森県</OPTION> <OPTION value=3>岩手県</OPTION> <OPTION value=4>宮城県</OPTION> <OPTION value=5>秋田県</OPTION> <OPTION value=6>山形県</OPTION> <OPTION value=7>福島県</OPTION> <OPTION value=8>茨城県</OPTION> <OPTION value=9>栃木県</OPTION> <OPTION value=10>群馬県</OPTION> <OPTION value=11>埼玉県</OPTION> <OPTION value=12>千葉県</OPTION> <OPTION value=13>東京都</OPTION> <OPTION value=14>神奈川県</OPTION> <OPTION value=15>新潟県</OPTION> <OPTION value=16>富山県</OPTION> <OPTION value=17>石川県</OPTION> <OPTION value=18>福井県</OPTION> <OPTION value=19>山梨県</OPTION> <OPTION value=20>長野県</OPTION> <OPTION value=21>岐阜県</OPTION> <OPTION value=22>静岡県</OPTION> <OPTION value=23>愛知県</OPTION> <OPTION value=24>三重県</OPTION> <OPTION value=25>滋賀県</OPTION> <OPTION value=26>京都府</OPTION> <OPTION value=27>大阪府</OPTION> <OPTION value=28>兵庫県</OPTION> <OPTION value=29>奈良県</OPTION> <OPTION value=30>和歌山県</OPTION> <OPTION value=31>鳥取県</OPTION> <OPTION value=32>島根県</OPTION> <OPTION value=33>岡山県</OPTION> <OPTION value=34>広島県</OPTION> <OPTION value=35>山口県</OPTION> <OPTION value=36>徳島県</OPTION> <OPTION value=37>香川県</OPTION> <OPTION value=38>愛媛県</OPTION> <OPTION value=39>高知県</OPTION> <OPTION value=40>福岡県</OPTION> <OPTION value=41>佐賀県</OPTION> <OPTION value=42>長崎県</OPTION> <OPTION value=43>熊本県</OPTION> <OPTION value=44>大分県</OPTION> <OPTION value=45>宮崎県</OPTION> <OPTION value=46>鹿児島県</OPTION> <OPTION value=47>沖縄県</OPTION></select> </td></tr> <tr><td>メールアドレス</td></tr> <tr><td> <input name="mail" size="34"> </td></tr> <tr><td>HPアドレス(あれば)</td></tr> <tr> <td nowrap><input type=text size=34 name=hp value="http://"> <input type=button value="プレビュー" onClick="window.open(document.form.hp.value, '', 'width=500,height=400,resizable=1,left=450,top=300');"> </td></tr> <tr><td>バナーURL(あれば)</td></tr> <tr> <td nowrap><input type=text size=34 name=ban> <input type=button value="プレビュー" onClick="window.open(document.form.ban.value, '', 'width=200,height=100,resizable=1,left=450,top=300');"> </td></tr> <tr><td>内容</td></tr> <tr><td> <select name="naiyou" size="1" title="内容" tabindex="0"> <option value="未選択" selected>内容</option> <option value="相互リンク">相互リンク</option> <option value="問い合せ">問い合せ</option> <option value="スタッフ希望">スタッフ希望</option> <option value="相談">相談</option> </select></td></tr> <tr><td>メッセージ</td></tr> <tr><td> <textarea name="message" rows="8" cols="55"></textarea> </td></tr> <br> <tr><td> <input type="submit" value="送信する" onClick="return checkform()"> <input type="reset" value="リセット"> </form></td></tr></table> </body> </html> //form.js function validate(f){ for(var i=0;i<f.length;i++){ if(f[i].type=="select-one" && f[i].selectedIndex==0){ alert(f[i].title+"を選択してください") return false; } } return true; } ちなみにメーラーを起動するならデータは整理しないとだめでしょうね

共感・感謝の気持ちを伝えよう!

質問者からの補足

ありがとうございます。 データーの整理と言うことはもっとソースを単純化できるのでしょうか?それともファイルの一部を外部に置くことが可能なんでしょうか? JavaScriptやCSSを外部ファイルとして読み込んだ事はありますがHTMLのソースはやった事がありません。もし可能でしたらご教授お願い致します。 勉強不足のようで申し訳ありません。

関連するQ&A

  • 外部呼出しのjsファイルについて

    外部呼出しするファイルを直接HTML内に記述したいのですがどのようにしたらよいのかわかりません。 ご存知の方がいましたらお教えください。 通常の方法は分かるのですが... <script LANGUAGE="javascript" src="xxx.js"></script> このような形で記述したいです。 <script LANGUAGE="javascript"><!-- src="xxx.js"; //--> </script>

  • 外部ファイルを読み込ませるための記述方法を教えてください!

    (1)index.html (2)「index.html」以降のページのフォルダ(の中にhtml) (3)css.js (4)cssファイル を同じ階層に置いています。 htmlには<SCRIPT LANGUAGE="javascript"src="css.js"></SCRIPT> と書かれており、css.jsファイルからcssファイルを読み込み htmlにcssが適用されてるように設定されています。 この階層のhtmlにはcssが反映されるのですが (2)のフォルダの中のhtmlにとってはcss.jsの階層は一つ上になるのですが、 <SCRIPT LANGUAGE="javascript"src="css.js"></SCRIPT> と書いてもcssが反映されません。 srcの指定を正しくするにはどのように記述したらいいのでしょうか? <SCRIPT LANGUAGE="javascript"src="../css.js"></SCRIPT> と記述してもダメでした。 Javascriptの言語がほとんどわからず困ってしまっています。 大急ぎで知りたいのですが、わかる方いらっしゃいましたら 教えてくださると大変助かります。 どうかよろしくお願い致します。

  • 外部ファイル名を変数で指定できるか?

    JavaScriptで参照する外部ファイルを、ヘッダー部で以下のように記述しています。 <script language="JavaScript" src="Data.js"></script> このsrc=で、指定するファイルを、変数で指定することは可能でしょうか? 試しに <script language="JavaScript"> <!-- var Src_File = "Data.js";  src=Src_File; //--> </script> と記述しても、エラーとなってしまいました。 変数を使いたい理由は、ラジオボタン等を使って、参照する外部ファイルを動的に切り替えたいのです。 よろしくお願いします。

その他の回答 (2)

  • 回答No.2
  • yambejp
  • ベストアンサー率51% (3827/7415)

>とある場合、選択を必須にするにはJavaScriptはどのように記述すれば良いでしょうか? たとえばこんな感じ <script> function validate(f){ var flg=true; for(var i=0;i<f.length;i++){ if(f[i].type=="select-one" && f[i].selectedIndex==0){ flg=false; alert("選択してください") } } return flg; } </script> <form onSubmit="return validate(this)"> 年齢 <select name="old" size="1" tabindex="0"> <option value="未選択" selected>選択してください</option> <option value="10歳未満">10歳未満</option> <option value="10歳~19歳">10歳~19歳</option> <option value="20歳~29歳">20歳~29歳</option> <option value="30歳~39歳">30歳~39歳</option> <option value="40歳~">40歳~</option> </select> <input type="submit" value="go"> </form> >sendmail(スペルあってます?)が対応していないので使えないんです そう考えて問題ありません。 >HTMLファイルに記述するとき<!-- -->などで囲む必要はないでしょうか? 外部ファイルを読み込む際はコメントアウトの必要はありません。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

文字数オーバーで貼れませんでした・・・ よろしくお願い致します。

質問者からの補足

ごめんなさい。せっかく書いていただいたんですが、うまく組み込めません。HTMLファイルのフォーム部分をアップします。もし時間に余裕がありましたら、JavaScriptの記述とHTMLの記述ミスをおしえていただけないでしょうか? ファイルはお礼の方にUPさせていただきます。

  • 回答No.1
  • yambejp
  • ベストアンサー率51% (3827/7415)

>(1) フォームのonSubmitでプルダウンをチェックしてください >(2) HTML(JavasScriptをふくむ)のみでは無理です。 そもそもHTMLでのメールフォームはメーラーを起動するだけなので >(3) javascriptの外部ファイル化はheadに制限されていません。body内でも 結構です。 また"language=javascript"は古い書き方ですので type="text/javascript"としてください

共感・感謝の気持ちを伝えよう!

質問者からの補足

まず、回答ありがとうございます。 JavaScriptは今勉強段階で全然理解できないので、もう少し質問させてください。 >(1) フォームのonSubmitでプルダウンをチェックしてください プルダウンの選択を必須にするための実際のJavaScriptの記述を教えていただけませんでしょうか? 例として(フォームのHTMLファイルから一部抜粋) <tr><td>年齢</td></tr> <tr><td> <select name="old" size="1" tabindex="0"> <option value="未選択" selected>選択してください</option> <option value="10歳未満">10歳未満</option> <option value="10歳~19歳">10歳~19歳</option> <option value="20歳~29歳">20歳~29歳</option> <option value="30歳~39歳">30歳~39歳</option> <option value="40歳~">40歳~</option> </select></td></tr> とある場合、選択を必須にするにはJavaScriptはどのように記述すれば良いでしょうか? (2)やはり無理みたいですね。CGIだと可能と言うことは知っているんですが、私が使っているサーバーはsendmail(スペルあってます?)が対応していないので使えないんです。sendmailを使わずに自分のメールアドレスを公開しないメールフォームの作り方って存在しないんでしょうか? (3)えっと、<script type="text/javascript" src="scriptのURL"></script>をHTMLファイルに記述するとき<!-- -->などで囲む必要はないでしょうか? よろしくお願いします。

関連するQ&A

  • javascriptを2つ使うと1つの動きしかしません。

    初心者です。ホームページを作っています。 以下のように記述してjavascriptで2つの動きをしたいのですが1つしか動きません。scriptをべつのファイルにしたのですが動かないのですが。どう記述したらいいのでしょうか? よろしくお願いします。 <html> <title></title> <head> <script language="javascript" src="test.js"></script> </head> <center> <body text="#000000" onLoad="timer1=setTimeout('fadein(0,100)',100)"> <br><br> <font size="8" color="green">ようこそマイホームページへ</font><br><br> <img src="top.jpg"><br><br> <a href="top.html"> <img src="main.jpg"></a> <form action="top.html"> </form> <script language="javascript" src="common.js"> </script> <a href="javascript:void(post())">3秒後に遷移します。画面が変わらない場合はクリックしてください</a> </center> </body> </html>

  • フォームで送信ボタンを押した際に、Javascriptに入力した値が渡

    フォームで送信ボタンを押した際に、Javascriptに入力した値が渡せない タイトルそのままです。 ボタンを押したらJavascriptでフォームの値をとりたいのです 今は、 最初に取り込ませたいJavasprictをhead内に指定しておき、 <script language="JavaScript" src="/js/mc.js" type="text/javascript"></script> 本文中のformタグではは下文のようにしてあります。 <form id="form" name="ffform" action="#" method="post"> 送信用のボタンは画像で書き換えていて、ボタンを押すと、Javascriptの方で関数checkformを動かすようにしたいのです <input type="image" src="./img/submit.png" alt="送信" onclick="checkform()"> 実際に押してみても、ただ何も変化がなく、どうすればいいか困っています。どなたか教えてください actionのところにJavascriptを指定したら、Jsそのものを開いてしまいますし、cgiを置こうにも、今あるcgiは Javasprictからさらに値を渡す為にあるcgiだけなのです・・・・・・

    • ベストアンサー
    • HTML
  • 複数の外部ファイルを参照するにはどうすればいいの?

    22歳男性です。 htmlに以下のように記述していますがうまく動作しません。 <html> <head> <script type=\"text/javascript\" src=\"js1ファイルパス\"></script> <script type=\"text/javascript\" src=\"js2ファイルパス\"></script> </head> <body> ・・・・・・・ 上記のように記述して外部のjsファイルを参照しようとしているんですがうまくいきません。js2ファイルは参照できるんですが、js1ファイルは参照できません。 また、記述順を変えてみると、js1ファイルは参照でき、js2ファイルが参照できなくなります。 この2つのjsファイルを参照するにはどのように記述するべきなのでしょうか?

  • js ファイルの読み込み

    ●質問の主旨 jsファイルを読みこむためHTMLファイルを記述しましたが 読み込めません。記述が間違っているのでしょうか? それともjsファイルの格納場所がおかしいのでしょうか? JavaScriptは3日前にはじめたばかりの超初心者です。 ごぞんじのかたご教示願います。 ●ファイルの配置 jsファイル、HTMLファイルともに GoogleDrive→JavaScript(任意のフォルダ名)に格納 ●jsファイルの内容 var now = now Date(); var greeting; if(now.getHours() < 12 ) greeting = 'おはよう'; else if(now.getHours() < 18 ) greeting = 'こんにちは'; else greeting = 'こんばんは'; ●HTMLファイルの内容 <HTML> <HEAD> <TITLE>JavaScriptサンプル</TITLE> <SCRIPT language = "JavaScript" src = "file.js"></SCRIPT> </HEAD> </BODY> <SCRIPT language = "JavaScript"> <!-- alert(greeting); // --> </SCRIPT> </BODY> </HTML>

  • 外部JavaScriptファイルを読み込む

    <HEAD> <SCRIPT LANGUAGE="JavaScript"> <!-- function textReset(){ this.form1.userName.value=""; this.form1.passWord.value=""; } //--> </SCRIPT> </HEAD> のJavaScriptファイルを外出しにして、 <HEAD> <SCRIPT LANGUAGE="JavaScript" SRC="/jsp/script.js"></SCRIPT> </HEAD> という風に呼び出そうとしているのですが、うまくいきません。どこに問題があると考えられるのでしょうか?

  • <SCRIPT src="css.js">の記述位置

    </head>と<body>の間に <SCRIPT LANGUAGE="javascript"src="css.js"></SCRIPT> を書くのは文法的に問題ありませんか?

  • 外部リンクについて質問です。

    通常のリンクは下のような感じで外部から呼び出してきますが、 <script type="text/javascript" src="1.js"></script> 例えば、変数Formにアドレスが代入してある場合どのようにsrcに記述したらいいのでしょうか? document.write(Form); で確認すると、ちゃんと「1.js」と出ます。 FormはJavaScript内での変数です。 色々試して、 <script type="text/javascript" src="Form"></script> <script type="text/javascript" src=Form></script> など、他にもいくつか試しましたがうまくいきません。 代入値をアドレスとして使えないのでしょうか? もう完全に行き詰って全く分かりません。 すみませんが分かる方よろしくお願いします。

  • JQUERYをはじめて導入したのですが、

    JQUERYをはじめて導入したのですが、 読込み部分の記述が間違っているのか 「$(document).ready(function(){」のところで一箇所エラーとなります。 「オブジェクトでサポートされてないプロパティまたはメソッドです」となります。 設定内容の、現状は下記です。 「validate」設定を実現したいためにjqueryを導入。 ・JQUERYは現在の最新版のものを入手。 ・読み込んだファイルは全く編集などはしてないもの。 ・パスなどの記述は間違っていないようです。確実にファイルは存在しております。 ・一応パーミッションも確認済みです。 ・id"form-host"もformタグに設定しております。 <script type="text/javascript" src="/common/js/jquery.js"></script> <script type="text/javascript" src="/common/js/jquery.validate.pack.js"></script> <script type="text/javascript" src="/common/js/jquery.validate.js"></script> <script type="text/javascript" src="/common/js/jquery-1.4.2.min.js"></script> <script type="text/javascript" src="/common/js/jquery.validate.min.js"></script> <script type="text/javascript" src="/common/js/additional-methods.js"></script> <script type="text/javascript" src="/common/js/messages_ja.js"></script> <script type="text/javascript"> //入力チェック関数に対象フォームIDを指定 $(document).ready(function(){ $("#form-host").validate(); }); </script> jsファイルの読込みの順序が違うのでしょうか、 不必要なjsファイルを読み込んでしまっている?為なのか; validate関連を導入した事があるからいらっしゃれば、 ご教授願います。

  • 外部JavaScriptファイルから呼び出したい!

    ページを早く表示させるために、コピー&ペーストでスクリプトを外部ファイル化しました。 <script language="JavaScript" src="../js/menu.js"></script> ↑とコピペした外部ファイルへリンクさせ、その後、 <script language="JavaScript">mmLoadMenus();</script> と記述してある部分があるのですが、うまく呼びだせてないようでランタイムエラーがでます。 すべてのJavaScriptを1ファイル内に記述しているときはうまく動作しているのですが、外部ファイルに切り離すとエラーが出ます。 外部ファイル化したために、mmLoadMenus();が動作しないので、どなたか分かる方、アドバイスをお願いします!!

  • md5.jsとbase64.jsがスクリプトのJavaScriptのパ

    md5.jsとbase64.jsがスクリプトのJavaScriptのパスワード設定について、教えて下さい。 JavaScriptを扱っているサイトで、以下のを使用しているのですが、そのサイトであまり詳しい説明が書かれてないので四苦八苦しています。 契約しているサーバーのセキュリティー上、CGIとPHPが使えないので、JavaScriptを使用したいと思っています。 インデックスページに設置して、パスワードが通ったらトップページに移動するようにさせたいと思っています。 以下ので、どこが不備なのか分からないので、教えて下さい。 JavaScriptに関しては初心者なのですが、初心者で以下のは難易度が高いのでしょうか? また、md5.jsとbase64.jsそのものの設定が問題なのでしょうか? 本当に困っていますので、是非とも教えて下さい。 お願いします。 <html> <Head> <script language="JavaScript" src="md5.js"></script> <script language="JavaScript" src="base64.js"></script> <script language="JavaScript"><!-- var pwmd5 = ""; function passchk() { var pw; pw = document.f.passwd.value; pw = base64encode(pw); pw = MD5_hexhash(pw); if(pw ==pwmd5 ) else alert("パスワードが違います"); } // --> </script> <body> <form name="f"> <input type=text name="passwd"><input type=button value="入室" onClick="passchk()"></form></body> </Head> </html>