JS新手:我尝试使用JS在单击复选框时将一些HTML附加到表单字段集: 首先,我将事件onchange添加到复选框,并将其设置为我的函数:
<fieldset class="lapsFS" id="manLapsFS"><legend>Manual laps</legend>
<input type="checkbox" name="lapsCB" value="manlapsCB"
onchange="cbHandleChange(this, addLap, 'manLapsFS', clearFS, 'manLapsFS');">
<label>Enable manual laps</label><br>
</fieldset>
cbHandleChange参数:
1.复选框处理
2.复选框打开时调用的功能
3.参数为2
4.复选框关闭时调用的功能
5.参数为4
这里是cbHandleChange:
function cbHandleChange(cb, funcOn, paramOn, funcOff, paramOff) {
if(cb.checked == true) {
funcOn.call(paramOn);
} else {
funcOff.call(paramOff);
}
}
这是作为参数4传递的函数:
function clearFS(fs) {
fs.innerHTML = "";
}
我曾尝试将单引号放在onchange="cbHandleChange(this, addLap, 'manLapsFS', clearFS, 'manLapsFS');"
而不是放入它们,但我仍然得到了
未定义cbHandleChange
我哪里错了?
编辑:我在我的问题中编辑了cbHandleChange,因为我忘记了大括号。答案 0 :(得分:0)
你有花括号的问题
function cbHandleChange(cb, funcOn, paramOn, funcOff, paramOff) {
if(cb.checked == true) {
funcOn.call(paramOn);
}
else
funcOff.call(paramOff);
}