WEBで簡単なアンケートを取ろうと思い、form を書いたのですが、一部、思ったようになりません。
お知恵をお貸しください。
希望するメール本文は、
Q1の回答, Q2aのチェック状況, Q2aの自由記述、Q2bのチェック状況,Q2cのチェック状況, Q2cの自由記述、Q2dのチェック状況
というカンマで区切られた回答一覧なのですが、
Q1に関しては希望した動作になりますが、Q2が、チェックを入れても入れなくても、チェック状況はa,b,c,d が帰ってきます。
チェックをしないとき、該当項目が空欄になる、あるいは別の文字になるようにする方法、教えてください。
<html>
<body>
<form onsubmit="return sendmail(this)">
<b>Q1</b> <br>
<select name="Q1">
<option selected value="3">改善された</option>
<option value="2">変わらない</option>
<option value="1">改悪された</option>
<option value="0">わからない</option>
</select><br> <br>
<b>Q2</b> <br>
<input type="checkbox" value="a" name="Q2"> 項目 <input style="HEIGHT: 20px; WIDTH: 271px" size="25" name="Q4a1">が欠如している<br>
<input type="checkbox" value="b" name="Q2"> 必要十分である<br>
<input type="checkbox" value="c" name="Q2"> 不要な項目 <input style="HEIGHT: 20px; WIDTH: 326px" size="24" name="Q4c1">がある<br>
<input type="checkbox" value="d" name="Q2"> わからない<br>
<br>
<br>
<input style="HEIGHT: 53px; WIDTH: 109px" size="13" type="submit" value="メール作成" name="send">
<script type="text/javascript">
F=document.getElementsByTagName('form')[0];
function sendmail(F){
title = [
'アンケート回答'
].join('%20');
cmnd = [
F.elements[0].value,",",
F.elements[1].value,",",
F.elements[2].value,",",
F.elements[3].value,",",
F.elements[4].value,",",
F.elements[5].value,",",
F.elements[6].value
].join('%20');
location.href="mailto:hoge@hoge?subject=" + title + "&body=" + cmnd;
return false;
}
</script></form>
No.2ベストアンサー
- 回答日時:
> F=document.getElementsByTagName('form')[0];
関数 sendmail の引数 F と被っているので不要
> F.elements[0]
この記述方法は今後を考えると危険です
F.elements['Q1'].value // ユニークな名前の場合
F.elements['Q2'][0].value // 同一名で複数ある場合
とするのが良いでしょう
> Q2aのチェック状況
function getChecked(o) { return o.checked? o.value: '' }
var Q2aのチェック状況 = getChecked(F.elements['Q2'][0]);
No.1
- 回答日時:
javascriptじゃなくちゃんとCGIを設置しましょう。
・メールアドレスを収集されて膨大なSPAMを受け取る羽目になります。
・ブラウザにメーラーを設定している人しか使えない
・文字化けで読めないメールが届く
⇒CGI RESCUE - CGIフリーソフト( http://www.rescue.ne.jp/ )
の上から2/3あたり
回答ありがとうございます。
>・メールアドレスを収集されて膨大なSPAMを受け取る羽目になります。
なるほど、使い方を誤ると、そのような危険もあるのですね。
貴重なアドバイスありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ラジオボタンが両方とも選択で...
-
ラジオボタンを選択済みにする...
-
「value」に2つの値をセットす...
-
チェックボックスとセレクトボ...
-
リストボックス(multipleなsel...
-
select値をhiddenのvalueに渡し...
-
iframeごとに戻るボタンを
-
WEBページを強制的に横画面で見...
-
パールの-pオプションの値0777...
-
Error: No Recipient というエ...
-
wordの数式について 定積分を書...
-
チェックボックスの返す値
-
さくらインターネットのCGI...
-
ディレクトリのファイル数取得
-
硬質カードケースについて 縦向...
-
指定のフォルダに指定のファイ...
-
フリーズする原因
-
ウェブサイトが文字化けします
-
フォームメール確認用ページ
-
こんにちは。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ラジオボタンが両方とも選択で...
-
「value」に2つの値をセットす...
-
FORMのselectの選択肢を最初か...
-
INPUT TYPE
-
select値をhiddenのvalueに渡し...
-
ラジオボタンを選択済みにする...
-
チェックボックスとセレクトボ...
-
iframeごとに戻るボタンを
-
iPhoneでセレクトボックスが選...
-
OPTIONタグにループは使えない...
-
ある条件での必須入力について
-
買い物カゴの作成
-
チェックボックスグループの一...
-
メールフォームのプルダウンメ...
-
PHPで検索ボタンを押さずに検索...
-
selectboxの画面遷移で、postデ...
-
フォームで絞込み検索機能を持...
-
チェックボックス選択で(3つ)...
-
<select>タグの幅設定
-
プルダウンメニューでValue値を...
おすすめ情報