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

Javascript-onselect复选框将值复制到表单字段,javascript,html,checkbox,Javascript,Html,Checkbox,在发送电子邮件的contactform中,我可以添加生成邮件的主题。我想让访问者用复选框选择主题。 复选框的值为“开”或“关”。不太有趣,因此在选中te复选框时,javascript必须将隐藏的“主题”字段的值更改为“定义”主题。 1) 我的脚本不起作用,为什么? 2) 使用onselect还是onchange更有趣? 3) 如果用户选择多个复选框,如何合并字符串(注意主题前准备好的“空格”) 函数定义(addsubject){ document.getElementById('subject

在发送电子邮件的contactform中,我可以添加生成邮件的主题。我想让访问者用复选框选择主题。 复选框的值为“开”或“关”。不太有趣,因此在选中te复选框时,javascript必须将隐藏的“主题”字段的值更改为“定义”主题。
1) 我的脚本不起作用,为什么?
2) 使用onselect还是onchange更有趣?
3) 如果用户选择多个复选框,如何合并字符串
(注意主题前准备好的“空格”)


函数定义(addsubject){
document.getElementById('subject').value=addsubject.value;
}
我的问题是:
文案
校对和复印编辑
... 等
您需要以下代码
document.getElementById('subject')。value=addsubject

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

onselect事件主要用于
元素


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

剩下的唯一问题是用户可以多次选中并取消选中,从而创建一个奇怪的主题。但我可以接受

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

函数定义(addsubject)
{
document.getElementById('subject').value=document.getElementById('subject').value.concat(addsubject);
}
我的问题是:
文案
校对和复印编辑
... 等
它更有趣吗?这是什么问题?另外,请将每个问题限制为一个问题。有关更多信息,请参阅。最后,
input
s有一个
value
属性,可以在HTML中设置。为什么不直接设置它而不是使用JavaScript?为什么不使用value属性?这是最好的方法,你可以不确定这是否是你想要的:而且你的onchange属性中有一个输入错误,
defineSkubject
jsfiddle回答了我的问题。使用“onclick”和droping.value您回答了问题1和问题2。三年来,我找到了一个解决办法。选中下面的复选框。如果使用选项卡和空格选择复选框,会发生什么情况?
<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>