我有這個驗證表單功能:簡單的JavaScript檢查不起作用?
function ValidateForm() {
var chks = document.register.elements['sendto[]'];
var hasChecked = false;
for (var i=0;i<chks.length;i++){
if (chks[i].checked){
hasChecked = true;
break;
}
}
if (!hasChecked){
alert("Please select at least one friend.");
chks[0].focus();
return false;
}
}
HTML代碼是這樣的:
<input type="checkbox" name="sendto[]" value="2" >
我知道這是不是完整的代碼。完整的代碼是巨大的。但基本上,如果我在代碼中只有一個複選框,上面的代碼會在ValidateForm()上給出未定義的消息。當表單被提交併且在複選框上方被選中時被調用。
但是,如果我有這樣的代碼兩個複選框:
<input type="checkbox" name="sendto[]" value="2" >
<input type="checkbox" name="sendto[]" value="4" >
就當ValidateForm()函數被調用提交此工作正常。我做錯了,即使它被檢查,它不適用於1複選框嗎?
什麼是註冊? – lovesh
我假設'註冊表'是他的形式的名稱。 –
@Gurnor你怎麼知道這個消息是未定義的?你在檢查控制檯嗎? – lovesh