我有一个表单页面,用户可以在其中输入一个 ID,并且从 mysql 中提取相应的配置文件数据并显示在表单中,以便用户可以对其进行编辑。
一个元素是一组收音机,因此您可以选择一个年级(即“1”、“2”、“3”等)。
当用户提供 ID 时,将进行 AJAX 调用以使用数据预填充表单,包括选择适当的单选。
问题:
用户必须选择一个年级来提交表格。我用一种verifyForm()
方法检查这个:
function verifyForm() {
if( !document.addStudentForm.elements["yearLevel"].checked ) {
alert( "You must select a year level before submitting." );
return false;
}
};
我希望这会检查yearLevel
,如果未选择选项,则警告/返回 false。
但是,当yearLevel
AJAX 数据预先选择了收音机时,这仍然表现得好像用户没有选择收音机一样。
收音机由js通过以下代码填充:
document.getElementById( "yearLevel_<?=$student['student']->get('yearLevel')?>" ).checked = true;
编辑:这是相关的 HTML。
<form name="addStudentForm" action="validation/updateStudentValidate.php" method="POST" onSubmit="return verifyForm()">
<input type="radio" value="1" name="yearLevel" disabled id="yearLevel_1" /> 1
<input type="radio" value="2" name="yearLevel" disabled id="yearLevel_2" /> 2
<input type="radio" value="3" name="yearLevel" disabled id="yearLevel_3" /> 3
<input type="radio" value="4" name="yearLevel" disabled id="yearLevel_4" /> 4
<input type="radio" value="5" name="yearLevel" disabled id="yearLevel_5" /> 5
<input type="radio" value="6" name="yearLevel" disabled id="yearLevel_6" /> 6
</form>
问题:
如何让我的 javascript 正确识别收音机是否已被检查,无论它是手动选择的还是以编程方式选择的?