プロが教える店舗&オフィスのセキュリティ対策術

(1) JavaScriptを使ってプルダウンの項目の選択を必修にしたいんですが。どのように記述すれば良いのでしょうか?

(2) JavaScriptを使ってメールフォームを作った時、HTMLファイル内に自分のメールアドレス記述せず、JavaScriptのファイル内に記述して作る事は無理でしょうか?

(3) JavaScriptを使ってメールフォームを作った時、HTMLファイル内にJavaScriptを呼び出すタグは<head>~</head>内に<script language="Javascript" src="form.js"></script>の様な記述でよろしかったでしょうか?

以上の3点の答えをお願い致します。
過去ログは一応検索しましたが自分の求めてる物を見つける事ができませんでした。

A 回答 (3件)

状況がよくわかんないですけど私の環境ではこれなら動きますが・・・



//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のソースはやった事がありません。もし可能でしたらご教授お願い致します。
勉強不足のようで申し訳ありません。

補足日時:2008/08/07 14:09
    • good
    • 0

>とある場合、選択を必須にするには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させていただきます。

補足日時:2008/08/05 00:36
    • good
    • 0
この回答へのお礼

文字数オーバーで貼れませんでした・・・

よろしくお願い致します。

お礼日時:2008/08/05 00:46

>(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ファイルに記述するとき<!-- -->などで囲む必要はないでしょうか?

よろしくお願いします。

補足日時:2008/08/04 12:43
    • good
    • 0

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