Javascript - onselect复选框复制值到表单字段

时间:2017-01-25 19:39:03

标签: javascript html checkbox

在发送电子邮件的联系表格中,我可以添加生成邮件的主题。我希望访问者选中主题复选框。 复选框的值为“on”或“off”。不是很有趣,所以当检查te复选框时,javascript必须将隐藏的“主题”字段的值更改为“定义”主题。
1)我的脚本不起作用,为什么?
2)使用onselect或onchange更有趣吗?
3)如果用户选择多个复选框,我该如何合并字符串?
(注意在受试者面前准备好的“空间”)。

    <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>

2 个答案:

答案 0 :(得分:0)

您需要以下代码 document.getElementById('subject').value = addsubject;

addsubject是onchange()传递给函数的字符串引用。

onselect事件主要用于<input type="text"><textarea>元素。

对于第三个问题,您必须跟踪表单提交时的所有复选框,并将值添加到字符串并分配给隐藏的输入。其他方法是在复选框上的每个onchange事件上不断更改字符串。

答案 1 :(得分:0)

剩下的唯一问题是用户可以检查&amp;取消选中多次创建一个奇怪的主题。但我可以接受。

<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>