2017-01-25 10 views
-1

電子メールを送信する連絡先フォームで、生成されたメールの件名を追加できます。私は、訪問者がチェックボックスを選択するようにしたいと思います。 チェックボックスの値は「オン」または「オフ」です。本当に興味深いわけではないので、チェックボックスをチェックするとjavascriptは 'subject'フィールドに隠れた 'subject'フィールドの値を変更する必要があります。
1)スクリプトが動作しません。なぜですか?
2)onselectまたはonchangeを使用する方が面白いですか?
3)複数のチェックボックスを選択した場合、どのように文字列をマージできますか?
(被験者の前に準備された「スペース」に注意してください)。Javascript - onselectチェックボックスフォームのフィールドにコピーする値

<script type="text/javascript"> 
    function define(addsubject){ 
    document.getElementById ('subject').value = addsubject.value; 
    } 
    </script> 

    My question is about: 
<form> 
    <input type="hidden" id="subject"> 

    <input type="checkbox" onselect="define(' Copywriting')">Copywriting &nbsp;<br> 
    <input type="checkbox" onchange="defineSubject(' Proofreading & Copy-editing')"> Proofreading & Copy-editing<br> 
    ... etc. 
</form> 
+1

*もっと面白いですか?*どんな質問ですか?また、1つの質問につき1つの質問に限定してください。詳細については[ask]を参照してください。最後に、 'input'にはHTMLで設定できる' value'属性があります。 JavaScriptを使用する代わりに直接設定するのはなぜですか? –

+1

**値の属性を使用しないのはなぜですか?あなたが探しているものかどうかわからない場合は、 – user3292788

+1

を実行するのが最善の方法です。https://jsfiddle.net/2jod4jdv/10/ –

答えて

0

次のコードを必要とする document.getElementById('subject').value = addsubject;

addsubjectはonchange()によって関数に渡される文字列参照です。

onselectイベントは、ほとんど<input type="text">または<textarea>要素で使用されます。

3番目の質問では、フォーム提出時にすべてのチェックボックスを追跡し、文字列に値を追加して非表示の入力に割り当てる必要があります。あなたが行うことができる他の方法はチェックボックスのonchangeイベントごとに文字列を変更し続けることです。

+0

質問1と2に答えました。 私は解決策を見つけました。以下を確認してください。 – Olivier

0

残っている唯一の問題は、ユーザが&を何度もチェックして奇妙な被写体を確認できることです。しかし、私はそれを受け入れることができます。

<script type="text/javascript"> 
function define(addsubject) 
{ 
document.getElementById ('subject').value = document.getElementById ('subject').value.concat(addsubject); 
} 
</script> 

My question is about: 
<form> 
    <input type="hidden" id="subject"> 

    <input type="checkbox" onclick="define('Copywriting ')">Copywriting &nbsp;<br> 
    <input type="checkbox" onclick="defineSubject('Proofreading & Copy-editing ')"> Proofreading & Copy-editing<br> 
    ... etc. 
</form> 
+0

タブとスペースを使ってチェックボックスを選択するとどうなりますか? – Rikin

+0

それは魅力のように動作します。 – Olivier

関連する問題