未捕获的ReferenceError:未在HTMLInputElement.onclick中定义myFunctionName

时间:2018-05-02 20:20:40

标签: javascript html

我正在使用包含4个字段集的表单。第二个和第三个字段集是根据我问的复选框问题显示的。我总是显示第二个字段集并隐藏第三个字段集。如果选中该框,则应隐藏第二个框并显示第三个字段集。

我在javascript中使用了一个函数。这是代码:

window.onload = function showVlees() {
    if (document.getElementById('Vlees').checked) {
        document.getElementById('Vleesgerecht').style.display = 'block';
    } else {
        document.getElementById('Vleesgerecht').style.display = 'none';
    }
}

每次单击复选框时,我都会收到此错误:

Uncaught ReferenceError: showVlees is not defined
    at HTMLInputElement.onclick

我的复选框编码如下:

<td> <input type="checkbox" id="Vlees" name="Vlees" value="Vlees" onclick="showVlees()"> Klik hier als u een vleesgerecht wilt.</input>

有谁知道问题是什么?

1 个答案:

答案 0 :(得分:1)

命名函数表达式创建一个只在其自己的范围内具有匹配名称的变量,而不是它们所定义的函数的范围。

使用函数声明并分两步将其分配给load事件处理程序。

function showVlees() { 
    // etc
}
window.onload = showVlees;