我的注册表中有一个复选框,如下所示:
<form name="reg" id="reg" method="post">
<input type="checkbox" onclick="return validate('tos')" name="tos"/>
</form>
我正在使用 JS 来检查它是否打勾,如果是,则在表单中显示一个绿色勾号。但是,它在单击时实际上并没有勾选复选框,而是正在加载绿色勾号。
此外,再次单击它不会删除它应该删除的绿色勾号,因为用户有效地取消了该复选框。
所以我的JS是这样的:
function validate (type){
output = [];
var x = document.getElementById("reg");
if (type == 'tos'){
div = 'result_tos';
input = x.elements[4].checked;
if (input){
output.push('<img src="correct.png"/>');
} else {
output.push('You must agree to our terms of service in order to join !');
}
document.getElementById(div).innerHTML = (output.join('')); //display result
}
}