2

似乎每次单击复选框都会触发页面正文中的 checkDisplay 。但是怎么做?该功能似乎没有与复选框绑定......

<!DOCTYPE html>
<html>
<head>
<title>Checkbox</title>
<script type="text/javascript">
    var checkDisplay = function(check, form) { //check ID, form ID
        form = document.getElementById(form), check =         document.getElementById(check);
        check.onclick = function(){
            form.style.display = (this.checked) ? "block" : "none";
            form.reset();
        };
        check.onclick();
    };
</script>
</head>
<body>
<input type="checkbox" id="check" />
<form id="form">
    <input type="checkbox" /><input type="text" />
</form>
<script type="text/javascript">
checkDisplay("check", "form");
</script>

4

1 回答 1

2

这是因为你在打电话:

<script type="text/javascript">
checkDisplay("check", "form");
</script>

您正在传递“检查”,它正在为您的复选框创建一个 onclick 事件:

check = document.getElementById(check);
check.onclick = function(){
    form.style.display = (this.checked) ? "block" : "none";
    form.reset();
};

请注意将检查从值“检查”重置为具有该 ID 的页面上的复选框控件的行。

祝你好运。

于 2013-02-08T03:26:08.957 回答