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を探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「value」に2つの値をセットす...
-
ラジオボタンが両方とも選択で...
-
INPUT TYPE
-
リストボックス(multipleなsel...
-
select値をhiddenのvalueに渡し...
-
iframeごとに戻るボタンを
-
プルダウンで??
-
FORMのselectの選択肢を最初か...
-
選択した値の渡し方について(...
-
wordの数式について 定積分を書...
-
VB.net データーグリッドビュー...
-
チェックボックスでのor検索
-
CGIでチェックボックスを使...
-
perlを難読化、暗号化させたい
-
ヨミサーチのデザイン変更について
-
サーバーのテキストファイルを...
-
CGI..pmを使っての画像のアップ...
-
[HTML]プルダウンメニューの横...
-
表の色を交互に変更
-
perlでHTMLソースを解析してfor...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ラジオボタンが両方とも選択で...
-
「value」に2つの値をセットす...
-
select値をhiddenのvalueに渡し...
-
INPUT TYPE
-
チェックボックスとセレクトボ...
-
FORMのselectの選択肢を最初か...
-
ラジオボタンを選択済みにする...
-
PHPで検索ボタンを押さずに検索...
-
リストボックス(multipleなsel...
-
ラジオボタンとセレクトメニュ...
-
iframeごとに戻るボタンを
-
選択したファイル名を取得する...
-
チェックボックス選択で(3つ)...
-
一つの検索窓で複数のサイトか...
-
プルダウン形式の検索窓
-
検索窓をクリックすると文字が...
-
フォームで絞込み検索機能を持...
-
セレクトボタンをリンクボタンに
-
プルダウンで??
-
フォームよりCGIへ複数の値をPO...
おすすめ情報