我有一個像這樣在我的登記表複選框:複選框JS反覆不當
<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
}
}
這是整個「驗證」功能嗎?該函數是否返回任何值或調用'preventDefault'?嘗試從'input'的'onclick'中取出'return'部分。 –
它正在調用該函數,因爲綠色記號顯示腳本的...(correct.png)部分。 – Sir
@wnwall我刪除了返回,但沒有改變任何東西:( – Sir