登録フォームに次のようなチェックボックスがあります。
<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
}
}